ke_junjie
2025-06-04 84620534eb627e95811b971a4b552b6a177829bf
修改
已添加2,505个文件
637621 ■■■■■ 文件已修改
LA22A07_Front/.browserslistrc 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/.editorconfig 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/.env 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/.env.development 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/.env.preview 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/.eslintrc.js 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/.gitignore 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/.prettierrc 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/.travis.yml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/Dockerfile 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/LICENSE 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/WMS基准版前端文档.docx 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/babel.config.js 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/config/plugin.config.js 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/docker/docker-compose.yml 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/docker/nginx/Dockerfile 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/docker/nginx/nginx.conf 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/docker/nginx/vhost/default.conf 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/jest.config.js 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/jsconfig.json 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/package-lock.json 19571 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/package.json 100 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/postcss.config.js 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/public/avatar2.jpg 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/public/index.html 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/public/loading/loading.css 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/public/loading/loading.html 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/public/loading/option2/html_code_segment.html 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/public/loading/option2/loading.css 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/public/loading/option2/loading.svg 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/public/logo.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/App.vue 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/api/modular/gen/codeGenerateManage.js 148 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/api/modular/gen/lowCodeManage.js 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/api/modular/gen/sysCodeGenerateConfigManage.js 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/api/modular/main/BindEntranceManage.js 117 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/api/modular/main/ExWarehouseManage.js 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/api/modular/main/LocationViewManage.js 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/api/modular/main/README.md 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/api/modular/main/SysTenantManage.js 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/api/modular/main/View_AccessDetailsManage.js 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/api/modular/main/WareContainerVsMaterialManage.js 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/api/modular/main/WareDeviceWarningManage.js 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/api/modular/main/WareFlowRecordManage.js 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/api/modular/main/WareSiteManage.js 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/api/modular/main/WareTaskBakManage.js 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/api/modular/main/WmsAreaManage.js 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/api/modular/main/WmsContainerManage.js 92 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/api/modular/main/WmsContainerTypeManage.js 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/api/modular/main/WmsLocationTypeManage.js 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/api/modular/main/WmsMaterialManage.js 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/api/modular/main/WmsPartManage.js 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/api/modular/main/WmsPlaceManage.js 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/api/modular/main/WmsTaskManage.js 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/api/modular/main/ceManage.js 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/api/modular/main/cesManage.js 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/api/modular/system/README.md 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/api/modular/system/appManage.js 106 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/api/modular/system/auditorworkflowManage.js 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/api/modular/system/configManage.js 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/api/modular/system/dictDataManage.js 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/api/modular/system/dictManage.js 101 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/api/modular/system/emailManage.js 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/api/modular/system/enumManage.js 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/api/modular/system/fileManage.js 115 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/api/modular/system/formDesignmanage.js 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/api/modular/system/homeManage.js 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/api/modular/system/logManage.js 93 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/api/modular/system/loginManage.js 119 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/api/modular/system/machineManage.js 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/api/modular/system/menuManage.js 114 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/api/modular/system/noticeManage.js 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/api/modular/system/noticeReceivedManage.js 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/api/modular/system/onlineUserManage.js 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/api/modular/system/orgManage.js 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/api/modular/system/posManage.js 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/api/modular/system/roleManage.js 141 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/api/modular/system/smsManage.js 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/api/modular/system/tenantManage.js 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/api/modular/system/timersManage.js 143 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/api/modular/system/userManage.js 256 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/api/modular/system/workflowManage.js 117 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/assets/icons/bx-analyse.svg 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/assets/login_bk.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/assets/logo.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/assets/logo.svg 475 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/assets/logo2.jpg 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/assets/logo3.jpg 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/assets/logo4.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/assets/notice.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/assets/welcome.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/ArticleListContent/ArticleListContent.vue 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/ArticleListContent/index.js 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/AvatarList/Item.vue 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/AvatarList/List.vue 99 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/AvatarList/index.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/AvatarList/index.less 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/AvatarList/index.md 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/Charts/Bar.vue 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/Charts/ChartCard.vue 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/Charts/Liquid.vue 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/Charts/MiniArea.vue 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/Charts/MiniBar.vue 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/Charts/MiniProgress.vue 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/Charts/MiniSmoothArea.vue 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/Charts/Radar.vue 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/Charts/RankList.vue 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/Charts/TagCloud.vue 113 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/Charts/TransferBar.vue 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/Charts/Trend.vue 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/Charts/chart.less 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/Charts/smooth.area.less 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/ChooseSiteModal.vue 104 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/CountDown/CountDown.vue 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/CountDown/index.js 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/CountDown/index.md 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/DepartmentSelect/DepartmentSelect.vue 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/DepartmentSelect/index.js 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/DescriptionList/DescriptionList.vue 153 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/DescriptionList/index.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/Dialog.js 113 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/Editor/QuillEditor.vue 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/Editor/WangEditor.vue 126 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/Ellipsis/Ellipsis.vue 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/Ellipsis/index.js 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/Ellipsis/index.md 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/Exception/ExceptionPage.vue 130 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/Exception/index.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/Exception/type.js 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/FooterToolbar/FooterToolBar.vue 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/FooterToolbar/index.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/FooterToolbar/index.less 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/FooterToolbar/index.md 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/GlobalFooter/GlobalFooter.vue 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/GlobalFooter/index.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/GlobalHeader/GlobalHeader.vue 194 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/GlobalHeader/index.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/IconSelector/IconSelector.vue 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/IconSelector/README.md 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/IconSelector/icons.js 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/IconSelector/index.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/Loading.js 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/Menu/SideMenu.vue 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/Menu/index.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/Menu/menu.js 177 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/Menu/menu.render.js 155 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/MultiTab/MultiTab.vue 162 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/MultiTab/events.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/MultiTab/index.js 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/MultiTab/index.less 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/NProgress/nprogress.less 76 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/NoticeIcon/NoticeIcon.vue 100 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/NoticeIcon/index.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/NumberInfo/NumberInfo.vue 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/NumberInfo/index.js 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/NumberInfo/index.less 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/NumberInfo/index.md 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/PageHeader/PageHeader.vue 214 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/PageHeader/index.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/PageLoading/index.jsx 106 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/Result/Result.vue 109 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/Result/index.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/Search/GlobalSearch.jsx 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/Search/index.less 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/SettingDrawer/SettingDrawer.vue 360 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/SettingDrawer/SettingItem.vue 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/SettingDrawer/index.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/SettingDrawer/settingConfig.js 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/SettingDrawer/themeColor.js 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/StandardFormRow/StandardFormRow.vue 122 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/StandardFormRow/index.js 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/Table/README.md 338 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/Table/columnSetting.vue 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/Table/index.js 432 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/Table/index.less 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/TagSelect/TagSelectOption.jsx 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/TagSelect/index.jsx 113 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/TextArea/index.jsx 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/TextArea/style.less 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/Tree/Tree.jsx 124 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/Trend/Trend.vue 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/Trend/index.js 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/Trend/index.less 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/Trend/index.md 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/UserSelect/UserSelect.vue 76 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/UserSelect/index.js 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/_util/util.js 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/global.less 516 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/index.js 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/index.less 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/tools/Breadcrumb.vue 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/tools/DetailList.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/tools/HeadInfo.vue 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/tools/LangSelect.vue 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/tools/Logo.vue 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/tools/TwoStepCaptcha.vue 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/tools/UserMenu.vue 255 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/tools/index.js 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/verifition/Verify.vue 473 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/verifition/Verify/VerifyPoints.vue 259 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/verifition/Verify/VerifySlide.vue 374 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/verifition/utils/ase.js 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/verifition/utils/axios.js 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/verifition/utils/util.js 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/components/xnComponents/XCard.vue 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/config/defaultSettings.js 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/config/router.config.js 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/core/bootstrap.js 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/core/directives/action.js 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/core/icons.js 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/core/lazy_lib/components_use.js 113 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/core/lazy_use.js 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/core/use.js 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/layouts/BasicLayout.vue 186 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/layouts/BlankLayout.vue 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/layouts/Iframe.vue 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/layouts/PageView.vue 177 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/layouts/RouteView.vue 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/layouts/UserLayout.vue 163 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/layouts/index.js 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/main.js 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/mock/index.js 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/mock/services/article.js 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/mock/services/auth.js 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/mock/services/manage.js 252 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/mock/services/other.js 973 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/mock/services/tagCloud.js 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/mock/services/user.js 768 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/mock/util.js 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/permission.js 123 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/router/generator-routers.js 263 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/router/index.js 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/store/getters.js 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/store/index.js 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/store/modules/app.js 138 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/store/modules/async-router.js 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/store/modules/permission.js 76 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/store/modules/user.js 258 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/store/mutation-types.js 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/utils/applocation.js 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/utils/axios.js 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/utils/device.js 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/utils/domUtil.js 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/utils/filter.js 97 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/utils/helper/permission.js 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/utils/messagesend.js 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/utils/mixin.js 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/utils/permissions.js 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/utils/request.js 134 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/utils/routeConvert.js 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/utils/socket.js 216 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/utils/util.js 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/utils/utils.less 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/404.vue 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/Home.vue 215 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/gen/codeGenerate/addForm.vue 381 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/gen/codeGenerate/assembly.vue 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/gen/codeGenerate/editForm.vue 385 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/gen/codeGenerate/fkModal.vue 184 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/gen/codeGenerate/index.vue 306 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/gen/codeGenerate/indexConfig.vue 293 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/gen/lowCode/addForm.vue 314 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/gen/lowCode/editForm.vue 628 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/gen/lowCode/index.vue 283 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/BindEntrance/index.vue 486 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/BindEntrance/inputLayout.vue 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/BindEntrance/searchBox.vue 109 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/ExWarehouse/handleForm.vue 93 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/ExWarehouse/index.vue 256 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/ExWarehouse/outForm.vue 168 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/LocationView/DetailDrawer.vue 238 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/LocationView/SearchForm.vue 121 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/LocationView/index.vue 229 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/README.md 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/SysTenant/addForm.vue 101 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/SysTenant/editForm.vue 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/SysTenant/index.vue 211 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/View_AccessDetails/addForm.vue 119 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/View_AccessDetails/editForm.vue 138 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/View_AccessDetails/index.vue 274 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/WareContainerVsMaterial/addForm.vue 117 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/WareContainerVsMaterial/editForm.vue 103 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/WareContainerVsMaterial/index.vue 249 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/WareDeviceWarning/addForm.vue 132 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/WareDeviceWarning/editForm.vue 165 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/WareDeviceWarning/index.vue 217 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/WareFlowRecord/addForm.vue 116 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/WareFlowRecord/editForm.vue 141 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/WareFlowRecord/index.vue 242 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/WareSite/addForm.vue 104 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/WareSite/editForm.vue 128 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/WareSite/index.vue 175 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/WareTaskBak/InfoModal.vue 131 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/WareTaskBak/addForm.vue 142 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/WareTaskBak/editForm.vue 178 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/WareTaskBak/index.vue 306 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/WmsArea/addForm.vue 99 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/WmsArea/editForm.vue 112 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/WmsArea/index.vue 202 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/WmsBindIn/index.vue 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/WmsContainer/addForm.vue 142 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/WmsContainer/editForm.vue 156 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/WmsContainer/index.vue 292 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/WmsContainerType/addForm.vue 125 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/WmsContainerType/editForm.vue 146 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/WmsContainerType/index.vue 217 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/WmsLocationType/addForm.vue 109 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/WmsLocationType/editForm.vue 126 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/WmsLocationType/index.vue 173 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/WmsMaterial/addForm.vue 176 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/WmsMaterial/editForm.vue 195 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/WmsMaterial/index.vue 365 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/WmsPart/addForm.vue 146 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/WmsPart/editForm.vue 167 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/WmsPart/index.vue 281 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/WmsPlace/addForm.vue 126 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/WmsPlace/editForm.vue 141 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/WmsPlace/index.vue 308 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/WmsTask/InfoModal.vue 131 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/WmsTask/PriorityModal.vue 108 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/WmsTask/addForm.vue 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/WmsTask/editForm.vue 109 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/WmsTask/index.vue 258 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/screenMonitor/LabelTag.vue 99 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/screenMonitor/TopMiddleCmp.vue 112 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/screenMonitor/cards.vue 188 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/screenMonitor/digitalFlop.vue 214 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/screenMonitor/img/bg.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/screenMonitor/img/map.jpg 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/screenMonitor/img/map.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/screenMonitor/img/map2.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/screenMonitor/img/mapCenterPoint.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/screenMonitor/img/mapPoint.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/screenMonitor/index.vue 119 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/screenMonitor/left1.vue 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/screenMonitor/left12.vue 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/screenMonitor/left2.vue 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/screenMonitor/left22.vue 152 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/screenMonitor/left23.vue 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/screenMonitor/middle1.vue 121 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/screenMonitor/middle2.vue 157 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/screenMonitor/middle3.vue 208 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/screenMonitor/rankingBoard.vue 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/screenMonitor/right1.vue 109 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/screenMonitor/right2.vue 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/screenMonitor/right3.vue 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/screenMonitor/right4.vue 106 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/screenMonitor/scrollBoard.vue 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/main/screenMonitor/topHeader.vue 103 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/README.md 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/account/center/Index.vue 308 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/account/center/page/App.vue 113 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/account/center/page/Article.vue 91 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/account/center/page/Project.vue 214 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/account/center/page/index.js 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/account/settings/AvatarModal.vue 182 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/account/settings/BaseSetting.vue 238 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/account/settings/Binding.vue 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/account/settings/Custom.vue 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/account/settings/Index.vue 155 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/account/settings/Notification.vue 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/account/settings/Security.vue 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/account/settings/securityItem/updPwd.vue 118 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/app/addForm.vue 91 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/app/editForm.vue 116 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/app/index.vue 269 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/config/addForm.vue 130 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/config/editForm.vue 158 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/config/index.vue 202 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/dashboard/Analysis.vue 385 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/dashboard/Monitor.vue 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/dashboard/TestWork.vue 115 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/dashboard/Workplace.vue 526 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/dict/addForm.vue 106 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/dict/dictdata/addForm.vue 123 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/dict/dictdata/editForm.vue 137 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/dict/dictdata/index.vue 235 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/dict/editForm.vue 128 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/dict/index.vue 233 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/email/index.vue 205 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/exception/403.vue 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/exception/404.vue 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/exception/500.vue 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/file/detailForm.vue 99 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/file/index.vue 266 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/file/previewForm.vue 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/formDesign/edit.vue 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/formDesign/index.vue 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/formDesign/list.vue 133 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/index/ModuleA.vue 159 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/index/ModuleB.vue 151 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/index/ModuleC.vue 223 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/index/welcome.vue 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/machine/index.vue 140 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/menu/addForm.vue 612 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/menu/editForm.vue 677 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/menu/index.vue 267 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/myworkflow/auditor.vue 116 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/myworkflow/components/auditoropera.vue 137 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/myworkflow/components/viewworkflow.vue 99 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/myworkflow/create.vue 149 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/myworkflow/index.vue 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/myworkflow/unauditor.vue 123 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/notice/addForm.vue 228 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/notice/detailForm.vue 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/notice/editForm.vue 256 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/notice/index.vue 254 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/noticeReceived/detailForm.vue 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/noticeReceived/index.vue 156 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/onlineUser/index.vue 188 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/org/addForm.vue 164 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/org/editForm.vue 192 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/org/index.vue 233 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/pos/addForm.vue 106 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/pos/editForm.vue 129 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/pos/index.vue 155 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/role/addForm.vue 125 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/role/editForm.vue 144 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/role/index.vue 204 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/role/roleMenuForm.vue 185 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/role/roleOrgForm.vue 195 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/sms/index.vue 163 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/tenant/addForm.vue 157 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/tenant/editForm.vue 163 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/tenant/index.vue 200 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/tenant/tenantMenuForm.vue 186 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/timers/addForm.vue 367 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/timers/editForm.vue 390 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/timers/index.vue 264 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/user/addForm.vue 484 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/user/editForm.vue 511 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/user/index.vue 405 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/user/userOrgForm.vue 150 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/user/userRoleForm.vue 117 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/workflow/components/builderWorkFlow.vue 443 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/workflow/components/nomalWorkFlow.vue 166 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/workflow/components/store/conditionflownode.js 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/workflow/components/store/flowNodeGroup.vue 168 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/workflow/components/store/flowentity.js 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/workflow/components/store/flownodes.js 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/workflow/components/store/nodeProperty.vue 388 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/workflow/components/store/readme.md 300 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/workflow/components/store/sourcenodes.js 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/workflow/create.vue 157 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/workflow/edit.vue 182 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/workflow/index.vue 136 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/system/workflow/startworkflow.vue 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/userLoginReg/Login.vue 332 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/userLoginReg/Register.vue 316 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/src/views/userLoginReg/RegisterResult.vue 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/tests/unit/.eslintrc.js 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/vue.config.js 141 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/webstorm.config.js 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/.gitignore 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/.hbuilderx/launch.json 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/App.vue 115 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/README.md 545 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/__json_server_mock__/db.json 155 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/components/ActionUserRow.vue 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/components/DefaultHeaderPageLayout.vue 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/components/EasyPicker.vue 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/components/EasySelectFormItem.vue 242 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/components/FullPageLayout.vue 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/components/HeaderPageLayout.vue 114 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/components/PageHeader.vue 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/components/ScanInputFormItem.vue 197 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/components/UViewFormSelectPicker.vue 213 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/config/index.js 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/config/modules/ajax.js 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/config/modules/pagination.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/index.html 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/main.js 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/manifest.json 108 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/mdImgs/1664329468868.jpg 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/mdImgs/1664329790970.jpg 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/mdImgs/1664330296712.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/mdImgs/1665970038354.jpg 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/package.json 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/pages.json 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/pages/baseTask/callagv.vue 403 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/pages/baseTask/callagvs.vue 225 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/pages/baseTask/callout.vue 313 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/pages/baseTask/groupdisk.vue 422 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/pages/baseTask/in.vue 599 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/pages/baseTask/out.vue 423 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/pages/baseTask/senagvtask.vue 230 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/pages/home/index.vue 249 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/pages/login/index.vue 252 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/pages/print/bluePrint.js 358 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/pages/print/bluetoothConnection.vue 118 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/pages/setting/host.vue 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/pages/start/index.vue 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/service/request/index.js 252 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/service/request/modules/beforeSend.js 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/service/store/index.js 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/service/store/modules/print.js 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/service/store/modules/system.js 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/service/store/modules/user.js 144 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/static/fonts/iconfont.css 151 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/static/fonts/iconfont.ttf 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/static/fonts/iconfont.woff 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/static/fonts/iconfont.woff2 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/static/img/error.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/static/img/iconCk.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/static/img/logo.jpg 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/static/img/success.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/static/js/print/gbk.js 185 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/static/js/print/printerjobs.js 587 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/static/js/utils/index.js 158 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/static/js/utils/modules/color.js 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/static/js/utils/modules/regexValidate.js 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/static/logo.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni.scss 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-card/changelog.md 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-card/components/uni-card/uni-card.vue 272 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-card/package.json 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-card/readme.md 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-data-select/changelog.md 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.vue 517 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-data-select/package.json 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-data-select/readme.md 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-drawer/changelog.md 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-drawer/components/uni-drawer/keypress.js 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-drawer/components/uni-drawer/uni-drawer.vue 183 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-drawer/package.json 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-drawer/readme.md 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-icons/changelog.md 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-icons/components/uni-icons/icons.js 1169 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-icons/components/uni-icons/uni-icons.vue 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-icons/components/uni-icons/uniicons.css 663 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-icons/components/uni-icons/uniicons.ttf 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-icons/package.json 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-icons/readme.md 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-load-more/changelog.md 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-load-more/components/uni-load-more/i18n/en.json 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-load-more/components/uni-load-more/i18n/index.js 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hans.json 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hant.json 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.vue 399 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-load-more/package.json 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-load-more/readme.md 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-popup/changelog.md 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-popup/components/uni-popup-dialog/keypress.js 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-popup/components/uni-popup-dialog/uni-popup-dialog.vue 275 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-popup/components/uni-popup-message/uni-popup-message.vue 143 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-popup/components/uni-popup-share/uni-popup-share.vue 187 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-popup/components/uni-popup/i18n/en.json 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-popup/components/uni-popup/i18n/index.js 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-popup/components/uni-popup/i18n/zh-Hans.json 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-popup/components/uni-popup/i18n/zh-Hant.json 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-popup/components/uni-popup/keypress.js 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-popup/components/uni-popup/popup.js 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-popup/components/uni-popup/uni-popup.vue 473 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-popup/package.json 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-popup/readme.md 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-scss/changelog.md 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-scss/index.scss 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-scss/package.json 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-scss/readme.md 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-scss/styles/index.scss 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-scss/styles/setting/_border.scss 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-scss/styles/setting/_color.scss 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-scss/styles/setting/_radius.scss 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-scss/styles/setting/_space.scss 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-scss/styles/setting/_styles.scss 167 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-scss/styles/setting/_text.scss 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-scss/styles/setting/_variables.scss 146 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-scss/styles/tools/functions.scss 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-scss/theme.scss 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-scss/variables.scss 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-section/changelog.md 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-section/components/uni-section/uni-section.vue 167 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-section/package.json 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-section/readme.md 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-transition/changelog.md 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-transition/components/uni-transition/createAnimation.js 131 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-transition/components/uni-transition/uni-transition.vue 286 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-transition/package.json 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uni-transition/readme.md 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/LICENSE 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/README.md 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/changelog.md 357 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u--form/u--form.vue 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u--image/u--image.vue 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u--input/u--input.vue 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u--text/u--text.vue 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u--textarea/u--textarea.vue 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-action-sheet/props.js 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-action-sheet/u-action-sheet.vue 278 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-album/props.js 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-album/u-album.vue 259 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-alert/props.js 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-alert/u-alert.vue 243 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-avatar-group/props.js 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-avatar-group/u-avatar-group.vue 103 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-avatar/props.js 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-avatar/u-avatar.vue 172 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-back-top/props.js 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-back-top/u-back-top.vue 129 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-badge/props.js 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-badge/u-badge.vue 171 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-button/nvue.scss 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-button/props.js 161 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-button/u-button.vue 490 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-button/vue.scss 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-calendar/header.vue 99 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-calendar/month.vue 579 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-calendar/props.js 144 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-calendar/u-calendar.vue 384 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-calendar/util.js 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-car-keyboard/props.js 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-car-keyboard/u-car-keyboard.vue 311 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-cell-group/props.js 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-cell-group/u-cell-group.vue 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-cell/props.js 110 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-cell/u-cell.vue 229 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-checkbox-group/props.js 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-checkbox-group/u-checkbox-group.vue 103 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-checkbox/props.js 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-checkbox/u-checkbox.vue 344 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-circle-progress/props.js 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-circle-progress/u-circle-progress.vue 198 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-code-input/props.js 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-code-input/u-code-input.vue 252 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-code/props.js 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-code/u-code.vue 129 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-col/props.js 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-col/u-col.vue 162 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-collapse-item/props.js 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-collapse-item/u-collapse-item.vue 225 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-collapse/props.js 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-collapse/u-collapse.vue 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-column-notice/props.js 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-column-notice/u-column-notice.vue 160 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-count-down/props.js 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-count-down/u-count-down.vue 163 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-count-down/utils.js 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-count-to/props.js 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-count-to/u-count-to.vue 184 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-datetime-picker/props.js 116 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-datetime-picker/u-datetime-picker.vue 360 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-divider/props.js 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-divider/u-divider.vue 116 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-dropdown-item/props.js 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-dropdown-item/u-dropdown-item.vue 127 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-dropdown/props.js 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-dropdown/u-dropdown.vue 127 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-empty/props.js 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-empty/u-empty.vue 128 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-form-item/props.js 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-form-item/u-form-item.vue 235 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-form/props.js 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-form/u-form.vue 214 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-gap/props.js 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-gap/u-gap.vue 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-grid-item/props.js 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-grid-item/u-grid-item.vue 209 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-grid/props.js 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-grid/u-grid.vue 97 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-icon/iconfont.ttf 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-icon/icons.js 214 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-icon/props.js 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-icon/u-icon.vue 234 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-image/props.js 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-image/u-image.vue 232 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-index-anchor/props.js 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-index-anchor/u-index-anchor.vue 91 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-index-item/props.js 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-index-item/u-index-item.vue 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-index-list/props.js 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-index-list/u-index-list.vue 440 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-input/props.js 187 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-input/u-input.vue 352 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-keyboard/props.js 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-keyboard/u-keyboard.vue 164 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-line-progress/props.js 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-line-progress/u-line-progress.vue 144 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-line/props.js 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-line/u-line.vue 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-link/props.js 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-link/u-link.vue 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-list-item/props.js 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-list-item/u-list-item.vue 116 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-list/props.js 76 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-list/u-list.vue 157 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-loading-icon/props.js 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-loading-icon/u-loading-icon.vue 343 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-loading-page/props.js 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-loading-page/u-loading-page.vue 115 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-loadmore/props.js 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-loadmore/u-loadmore.vue 150 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-modal/props.js 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-modal/u-modal.vue 227 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-navbar/props.js 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-navbar/u-navbar.vue 186 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-no-network/props.js 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-no-network/u-no-network.vue 220 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-notice-bar/props.js 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-notice-bar/u-notice-bar.vue 101 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-notify/props.js 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-notify/u-notify.vue 211 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-number-box/props.js 109 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-number-box/u-number-box.vue 416 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-number-keyboard/props.js 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-number-keyboard/u-number-keyboard.vue 196 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-overlay/props.js 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-overlay/u-overlay.vue 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-parse/node/node.vue 499 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-parse/parser.js 1075 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-parse/props.js 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-parse/u-parse.vue 366 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-picker-column/props.js 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-picker-column/u-picker-column.vue 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-picker/props.js 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-picker/u-picker.vue 283 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-popup/props.js 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-popup/u-popup.vue 304 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-radio-group/props.js 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-radio-group/u-radio-group.vue 108 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-radio/props.js 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-radio/u-radio.vue 339 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-rate/props.js 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-rate/u-rate.vue 306 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-read-more/props.js 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-read-more/u-read-more.vue 157 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-row-notice/props.js 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-row-notice/u-row-notice.vue 330 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-row/props.js 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-row/u-row.vue 93 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-safe-bottom/props.js 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-safe-bottom/u-safe-bottom.vue 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-scroll-list/nvue.js 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-scroll-list/other.js 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-scroll-list/props.js 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-scroll-list/scrollWxs.wxs 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-scroll-list/u-scroll-list.vue 224 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-search/props.js 118 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-search/u-search.vue 303 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-skeleton/props.js 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-skeleton/u-skeleton.vue 244 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-slider/mpother.js 113 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-slider/mpwxs.js 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-slider/mpwxs.wxs 121 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-slider/nvue - 副本.js 180 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-slider/nvue.js 193 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-slider/props.js 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-slider/u-slider.vue 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-status-bar/props.js 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-status-bar/u-status-bar.vue 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-steps-item/props.js 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-steps-item/u-steps-item.vue 316 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-steps/props.js 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-steps/u-steps.vue 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-sticky/props.js 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-sticky/u-sticky.vue 212 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-subsection/props.js 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-subsection/u-subsection.vue 299 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-swipe-action-item/index - backup.wxs 256 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-swipe-action-item/index.wxs 225 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-swipe-action-item/nvue - backup.js 270 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-swipe-action-item/nvue.js 174 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-swipe-action-item/props.js 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-swipe-action-item/u-swipe-action-item.vue 190 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-swipe-action-item/wxs.js 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-swipe-action/props.js 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-swipe-action/u-swipe-action.vue 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-swiper-indicator/props.js 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-swiper-indicator/u-swiper-indicator.vue 110 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-swiper/props.js 125 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-swiper/u-swiper.vue 255 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-switch/props.js 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-switch/u-switch.vue 177 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-tabbar-item/props.js 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-tabbar-item/u-tabbar-item.vue 142 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-tabbar/props.js 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-tabbar/u-tabbar.vue 141 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-table/props.js 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-table/u-table.vue 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-tabs-item/props.js 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-tabs-item/u-tabs-item.vue 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-tabs/props.js 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-tabs/u-tabs.vue 354 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-tag/props.js 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-tag/u-tag.vue 358 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-td/props.js 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-td/u-td.vue 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-text/props.js 110 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-text/u-text.vue 223 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-text/value.js 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-textarea/props.js 119 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-textarea/u-textarea.vue 239 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-toast/u-toast.vue 291 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-toolbar/props.js 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-toolbar/u-toolbar.vue 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-tooltip/clipboard.min.js 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-tooltip/props.js 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-tooltip/u-tooltip.vue 365 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-tr/props.js 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-tr/u-tr.vue 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-transition/nvue.ani-map.js 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-transition/props.js 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-transition/transition.js 157 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-transition/u-transition.vue 92 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-transition/vue.ani-style.scss 113 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-upload/mixin.js 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-upload/props.js 124 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-upload/u-upload.vue 558 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/u-upload/utils.js 151 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/components/uview-ui/uview-ui.vue 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/index.js 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/index.scss 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/color.js 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/config.js 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props.js 190 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/actionSheet.js 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/album.js 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/alert.js 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/avatar.js 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/avatarGroup.js 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/backtop.js 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/badge.js 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/button.js 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/calendar.js 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/carKeyboard.js 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/cell.js 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/cellGroup.js 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/checkbox.js 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/checkboxGroup.js 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/circleProgress.js 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/code.js 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/codeInput.js 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/col.js 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/collapse.js 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/collapseItem.js 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/columnNotice.js 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/countDown.js 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/countTo.js 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/datetimePicker.js 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/divider.js 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/empty.js 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/form.js 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/formItem.js 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/gap.js 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/grid.js 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/gridItem.js 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/icon.js 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/image.js 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/indexAnchor.js 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/indexList.js 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/input.js 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/keyboard.js 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/line.js 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/lineProgress.js 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/link.js 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/list.js 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/listItem.js 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/loadingIcon.js 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/loadingPage.js 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/loadmore.js 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/modal.js 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/navbar.js 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/noNetwork.js 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/noticeBar.js 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/notify.js 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/numberBox.js 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/numberKeyboard.js 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/overlay.js 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/parse.js 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/picker.js 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/popup.js 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/radio.js 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/radioGroup.js 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/rate.js 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/readMore.js 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/row.js 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/rowNotice.js 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/scrollList.js 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/search.js 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/section.js 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/skeleton.js 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/slider.js 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/statusBar.js 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/steps.js 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/stepsItem.js 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/sticky.js 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/subsection.js 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/swipeAction.js 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/swipeActionItem.js 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/swiper.js 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/swipterIndicator.js 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/switch.js 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/tabbar.js 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/tabbarItem.js 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/tabs.js 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/tag.js 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/text.js 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/textarea.js 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/toast.js 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/toolbar.js 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/tooltip.js 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/transition.js 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/props/upload.js 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/config/zIndex.js 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/css/color.scss 155 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/css/common.scss 97 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/css/components.scss 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/css/flex.scss 257 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/css/h5.scss 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/css/mixin.scss 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/css/mp.scss 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/css/nvue.scss 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/css/vue.scss 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/function/colorGradient.js 134 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/function/debounce.js 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/function/digit.js 167 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/function/index.js 705 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/function/platform.js 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/function/test.js 288 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/function/throttle.js 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/luch-request/adapters/index.js 97 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/luch-request/core/InterceptorManager.js 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/luch-request/core/Request.js 198 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/luch-request/core/buildFullPath.js 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/luch-request/core/defaults.js 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/luch-request/core/dispatchRequest.js 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/luch-request/core/mergeConfig.js 103 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/luch-request/core/settle.js 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/luch-request/helpers/buildURL.js 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/luch-request/helpers/combineURLs.js 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/luch-request/helpers/isAbsoluteURL.js 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/luch-request/index.d.ts 116 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/luch-request/index.js 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/luch-request/utils.js 131 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/luch-request/utils/clone.js 264 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/mixin/button.js 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/mixin/mixin.js 160 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/mixin/mpMixin.js 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/mixin/mpShare.js 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/mixin/openType.js 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/mixin/style.js 228 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/mixin/touch.js 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/util/async-validator.js 1343 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/util/calendar.js 546 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/util/dayjs.js 308 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/util/emitter.js 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/libs/util/route.js 124 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/package.json 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/uni_modules/uview-ui/theme.scss 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/cache/apk/__UNI__BF591AD_cm.apk 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/cache/apk/apkurl 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/cache/apk/cmManifestCache.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/cache/certdata 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/cache/cloudcertificate/certini 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/cache/cloudcertificate/package.keystore 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/.manifest/icon-android-hdpi.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/.manifest/icon-android-xhdpi.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/.manifest/icon-android-xxhdpi.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/.manifest/icon-android-xxxhdpi.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/__uniappchooselocation.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/__uniapperror.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/__uniappes6.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/__uniappopenlocation.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/__uniapppicker.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/__uniappquill.js 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/__uniappquillimageresize.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/__uniappscan.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/__uniappsuccess.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/__uniappview.html 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/app-config-service.js 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/app-config.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/app-service.js 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/app-view.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/assets/iconfont.4e517824.ttf 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/assets/uniicons.b6d3756e.ttf 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/manifest.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/static/fonts/iconfont.css 151 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/static/fonts/iconfont.ttf 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/static/fonts/iconfont.woff 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/static/fonts/iconfont.woff2 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/static/img/error.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/static/img/iconCk.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/static/img/logo.jpg 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/static/img/success.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/static/js/print/gbk.js 185 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/static/js/print/printerjobs.js 587 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/static/js/utils/index.js 158 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/static/js/utils/modules/color.js 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/static/js/utils/modules/regexValidate.js 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/static/logo.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/view.css 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/view.umd.min.js 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/build/.automator/app-plus/.automator.json 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/build/app-plus/__uniappchooselocation.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/build/app-plus/__uniapperror.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/build/app-plus/__uniappes6.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/build/app-plus/__uniappopenlocation.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/build/app-plus/__uniapppicker.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/build/app-plus/__uniappquill.js 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/build/app-plus/__uniappquillimageresize.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/build/app-plus/__uniappscan.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/build/app-plus/__uniappsuccess.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/build/app-plus/__uniappview.html 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/build/app-plus/app-config-service.js 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/build/app-plus/app-config.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/build/app-plus/app-service.js 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/build/app-plus/app-view.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/build/app-plus/assets/iconfont.4e517824.ttf 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/build/app-plus/assets/uniicons.b6d3756e.ttf 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/build/app-plus/manifest.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/build/app-plus/static/fonts/iconfont.css 151 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/build/app-plus/static/fonts/iconfont.ttf 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/build/app-plus/static/fonts/iconfont.woff 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/build/app-plus/static/fonts/iconfont.woff2 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/build/app-plus/static/img/error.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/build/app-plus/static/img/iconCk.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/build/app-plus/static/img/logo.jpg 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/build/app-plus/static/img/success.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/build/app-plus/static/js/print/gbk.js 185 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/build/app-plus/static/js/print/printerjobs.js 587 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/build/app-plus/static/js/utils/index.js 158 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/build/app-plus/static/js/utils/modules/color.js 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/build/app-plus/static/js/utils/modules/regexValidate.js 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/build/app-plus/static/logo.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/build/app-plus/view.css 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/build/app-plus/view.umd.min.js 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/dev/.automator/app-plus/.automator.json 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/dev/app-plus/__uniappchooselocation.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/dev/app-plus/__uniapperror.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/dev/app-plus/__uniappes6.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/dev/app-plus/__uniappopenlocation.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/dev/app-plus/__uniapppicker.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/dev/app-plus/__uniappquill.js 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/dev/app-plus/__uniappquillimageresize.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/dev/app-plus/__uniappscan.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/dev/app-plus/__uniappsuccess.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/dev/app-plus/__uniappview.html 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/dev/app-plus/app-config-service.js 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/dev/app-plus/app-config.js 154 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/dev/app-plus/app-service.js 24209 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/dev/app-plus/app-view.js 12872 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/dev/app-plus/manifest.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/dev/app-plus/static/fonts/iconfont.css 151 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/dev/app-plus/static/fonts/iconfont.ttf 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/dev/app-plus/static/fonts/iconfont.woff 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/dev/app-plus/static/fonts/iconfont.woff2 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/dev/app-plus/static/img/error.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/dev/app-plus/static/img/iconCk.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/dev/app-plus/static/img/logo.jpg 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/dev/app-plus/static/img/success.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/dev/app-plus/static/js/print/gbk.js 185 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/dev/app-plus/static/js/print/printerjobs.js 587 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/dev/app-plus/static/js/utils/index.js 158 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/dev/app-plus/static/js/utils/modules/color.js 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/dev/app-plus/static/js/utils/modules/regexValidate.js 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/dev/app-plus/static/logo.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/dev/app-plus/uni_modules/uni-icons/components/uni-icons/uniicons.ttf 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/dev/app-plus/uni_modules/uview-ui/components/u-icon/iconfont.ttf 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/dev/app-plus/view.css 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/dist/dev/app-plus/view.umd.min.js 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/res/icons/1024x1024.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/res/icons/120x120.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/res/icons/144x144.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/res/icons/152x152.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/res/icons/167x167.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/res/icons/180x180.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/res/icons/192x192.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/res/icons/20x20.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/res/icons/29x29.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/res/icons/40x40.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/res/icons/58x58.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/res/icons/60x60.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/res/icons/72x72.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/res/icons/76x76.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/res/icons/80x80.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/res/icons/87x87.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_PDA/unpackage/res/icons/96x96.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/.gitattributes 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/.gitignore 368 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/LA22A07_QY.sln 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/README.en.md 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/README.md 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Entity/LocationView.cs 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Mapper/CustomMapper.cs 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/Common/CommonHelper.cs 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/Common/FindEmptyLocationFactory/Default/ContainerFindEmptyLocationHandle.cs 106 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/Common/FindEmptyLocationFactory/Default/MaterialFindEmptyLocationHandle.cs 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/Common/FindEmptyLocationFactory/FindEmptyLocationServiceFactory.cs 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/Common/FindEmptyLocationFactory/FindEmptyLocationServiceHandle.cs 199 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/Common/ListHelper.cs 287 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/App/Dto/AppInput.cs 101 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/App/Dto/AppOutput.cs 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/App/ISysAppService.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/App/SysAppService.cs 186 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Auth/AuthService.cs 261 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Auth/Dto/LoginInput.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Auth/Dto/LoginOutput.cs 168 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Auth/Dto/RegistInput.cs 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Auth/IAuthService.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Base/BaseService.cs 405 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Base/Dto/BaseDto.cs 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Cache/ISysCacheService.cs 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Cache/SysCacheService.cs 268 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Captcha/ClickWord/ClickWordCaptcha.cs 222 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Captcha/ClickWord/ClickWordCaptchaInput.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Captcha/ClickWord/ClickWordCaptchaResult.cs 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Captcha/ClickWord/IClickWordCaptcha.cs 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Captcha/General/GeneralCaptcha.cs 132 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Captcha/General/GeneralCaptchaInput.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Captcha/General/IGeneralCaptcha.cs 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/CodeGen/CodeGenConfigService.cs 167 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/CodeGen/CodeGenService.cs 544 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/CodeGen/Dto/CodeGenConfig.cs 149 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/CodeGen/Dto/CodeGenInput.cs 173 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/CodeGen/Dto/CodeGenModel.cs 91 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/CodeGen/Dto/CodeGenOutput.cs 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/CodeGen/Dto/DatabaseOutput.cs 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/CodeGen/Dto/TableColumnOuput.cs 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/CodeGen/Dto/TableOutput.cs 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/CodeGen/Dto/XnCodeGenOutput.cs 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/CodeGen/ICodeGenConfigService.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/CodeGen/ICodeGenService.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Config/Dto/ConfigInput.cs 121 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Config/ISysConfigService.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Config/SysConfigService.cs 186 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Dict/Dto/DictDataInput.cs 140 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Dict/Dto/DictDataOutput.cs 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Dict/Dto/DictTreeOutput.cs 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Dict/Dto/DictTypeInput.cs 119 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Dict/ISysDictDataService.cs 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Dict/ISysDictTypeService.cs 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Dict/SysDictDataService.cs 191 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Dict/SysDictTypeService.cs 182 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Emp/Dto/EmpExtOrgPosOutput.cs 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Emp/Dto/EmpOutput.cs 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Emp/Dto/EmpOutput2.cs 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Emp/Dto/EmpPosOutput.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Emp/ISysEmpExtOrgPosService.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Emp/ISysEmpPosService.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Emp/ISysEmpService.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Emp/SysEmpExtOrgPosService.cs 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Emp/SysEmpPosService.cs 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Emp/SysEmpService.cs 130 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Enum/Dto/EnumDataInput.cs 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Enum/Dto/EnumDataOutput.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Enum/ISysEnumDataService.cs 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Enum/SysEnumDataService.cs 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/File/Dto/FileInput.cs 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/File/Dto/FileOutput.cs 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/File/ISysFileService.cs 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/File/SysFileService.cs 374 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Forms/Dto/FormAddDto.cs 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Forms/Dto/FormDto.cs 286 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Forms/Dto/FormEditDto.cs 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Forms/Dto/FormPageSearch.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Forms/Dto/FormPublishDto.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Forms/FormService.cs 186 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Forms/IFormService.cs 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Hubs/ChatHub.cs 118 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Hubs/Dto/MessageinputDto.cs 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Hubs/IChatClient.cs 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/LowCode/Dto/ContrasOutput.cs 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/LowCode/Dto/ContrastLowCode.cs 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/LowCode/Dto/Front_CodeGenerate.cs 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/LowCode/Dto/GenEntity.cs 91 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/LowCode/Dto/LowCodeInput.cs 133 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/LowCode/GenEntityComparer.cs 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/LowCode/ILowCodeService.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/LowCode/LowCodeService.cs 539 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Menu/Dto/AntDesignTreeNode.cs 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Menu/Dto/MenuInput.cs 328 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Menu/Dto/MenuOutput.cs 116 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Menu/Dto/MenuTreeOutput.cs 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Menu/ISysMenuService.cs 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Menu/SysMenuService.cs 452 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Message/ISendMessageService.cs 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Message/SendMessageService.cs 107 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Monitor/IMachineService.cs 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Monitor/MachineService.cs 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Notice/Dto/NoticeBase.cs 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Notice/Dto/NoticeDetailOutput.cs 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Notice/Dto/NoticeInput.cs 137 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Notice/Dto/NoticeReceiveOutput.cs 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Notice/ISysNoticeService.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Notice/ISysNoticeUserService.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Notice/SysNoticeService.cs 313 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Notice/SysNoticeUserService.cs 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/OnlineUser/Dto/OnlineUserOutput.cs 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/OnlineUser/ISysOnlineUserService.cs 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/OnlineUser/SysOnlineUserService.cs 99 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Org/Dto/OrgInput.cs 162 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Org/Dto/OrgOutput.cs 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Org/Dto/OrgTreeNode.cs 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Org/ISysOrgService.cs 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Org/SysOrgService.cs 374 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Pos/Dto/PosInput.cs 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Pos/ISysPosService.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Pos/SysPosService.cs 131 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Role/Dto/RoleInput.cs 208 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Role/Dto/RoleOutput.cs 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Role/ISysRoleDataScopeService.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Role/ISysRoleMenuService.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Role/ISysRoleService.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Role/SysRoleDataScopeService.cs 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Role/SysRoleMenuService.cs 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Role/SysRoleService.cs 319 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Timer/Dto/JobInput.cs 227 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Timer/Dto/JobOutput.cs 149 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Timer/ISysTimerService.cs 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/Timer/SysTimerService.cs 318 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/User/CurrentUserInfo.cs 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/User/Dto/AuthToken.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/User/Dto/AuthUserInput.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/User/Dto/UserInput.cs 376 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/User/Dto/UserOutput.cs 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/User/ISysUserDataScopeService.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/User/ISysUserRoleService.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/User/ISysUserService.cs 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/User/SysUserDataScopeService.cs 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/User/SysUserRoleService.cs 99 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/System/User/SysUserService.cs 473 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WareContainerVsMaterial/Dto/WareContainerVsMaterialDto.cs 97 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WareContainerVsMaterial/Dto/WareContainerVsMaterialInput.cs 204 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WareContainerVsMaterial/Dto/WareContainerVsMaterialOutput.cs 101 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WareContainerVsMaterial/IWareContainerVsMaterialService.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WareContainerVsMaterial/Map/WareContainerVsMaterialMapper.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WareContainerVsMaterial/WareContainerVsMaterialService.cs 215 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WareSite/Dto/WareSiteDto.cs 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WareSite/Dto/WareSiteInput.cs 145 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WareSite/Dto/WareSiteOutput.cs 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WareSite/IWareSiteService.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WareSite/Map/WareSiteMapper.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WareSite/WareSiteService.cs 112 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsArea/Dto/WmsAreaDto.cs 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsArea/Dto/WmsAreaInput.cs 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsArea/Dto/WmsAreaOutput.cs 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsArea/IWmsAreaService.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsArea/Map/WmsAreaMapper.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsArea/WmsAreaService.cs 113 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsContainer/Dto/WmsContainerDto.cs 92 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsContainer/Dto/WmsContainerExcel.cs 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsContainer/Dto/WmsContainerInput.cs 219 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsContainer/Dto/WmsContainerOutput.cs 101 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsContainer/IWmsContainerService.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsContainer/Map/WmsContainerMapper.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsContainer/WmsContainerService.cs 339 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsContainerType/Dto/WmsContainerTypeDto.cs 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsContainerType/Dto/WmsContainerTypeInput.cs 124 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsContainerType/Dto/WmsContainerTypeOutput.cs 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsContainerType/IWmsContainerTypeService.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsContainerType/Map/WmsContainerTypeMapper.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsContainerType/WmsContainerTypeService.cs 157 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsLocationType/Dto/WmsLocationTypeDto.cs 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsLocationType/Dto/WmsLocationTypeInput.cs 160 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsLocationType/Dto/WmsLocationTypeOutput.cs 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsLocationType/IWmsLocationTypeService.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsLocationType/Map/WmsLocationTypeMapper.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsLocationType/WmsLocationTypeService.cs 114 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsMaterial/Dto/WmsMaterialDto.cs 147 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsMaterial/Dto/WmsMaterialInput.cs 315 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsMaterial/Dto/WmsMaterialOutput.cs 172 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsMaterial/IWmsMaterialService.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsMaterial/Map/WmsMaterialMapper.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsMaterial/WmsMaterialService.cs 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsPart/Dto/WarePartOutputDto.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsPart/Dto/WmsPartDto.cs 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsPart/Dto/WmsPartExcel.cs 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsPart/Dto/WmsPartInput.cs 167 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsPart/Dto/WmsPartOutput.cs 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsPart/IWmsPartService.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsPart/Map/WmsPartMapper.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsPart/WmsPartService.cs 185 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsPlace/Dto/WmsPlaceDto.cs 137 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsPlace/Dto/WmsPlaceExcel.cs 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsPlace/Dto/WmsPlaceInput.cs 285 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsPlace/Dto/WmsPlaceOutput.cs 134 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsPlace/IWmsPlaceService.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsPlace/Map/WmsPlaceMapper.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsPlace/WmsPlaceService.cs 200 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsSeed/WmsSeed.cs 215 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsCount/ScreenDisplay/Dto/DeviceWarningLaneInput.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsCount/ScreenDisplay/Dto/DeviceWarningOutput.cs 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsCount/ScreenDisplay/Dto/LocationStatisticsOutput.cs 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsCount/ScreenDisplay/Dto/OutTaskOutput.cs 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsCount/ScreenDisplay/Dto/PageInputCustomBase.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsCount/ScreenDisplay/Dto/PlanExecutionOutput.cs 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsCount/ScreenDisplay/Dto/QueryTaskInput.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsCount/ScreenDisplay/Dto/SrmCoordinate.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsCount/ScreenDisplay/ScreenDisplayService.cs 322 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WareDeviceWarning/Dto/WareDeviceWarningDto.cs 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WareDeviceWarning/Dto/WareDeviceWarningInput.cs 184 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WareDeviceWarning/Dto/WareDeviceWarningOutput.cs 123 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WareDeviceWarning/IWareDeviceWarningService.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WareDeviceWarning/Map/WareDeviceWarningMapper.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WareDeviceWarning/WareDeviceWarningService.cs 123 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WareFlowRecord/Dto/WareFlowRecordDto.cs 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WareFlowRecord/Dto/WareFlowRecordInput.cs 164 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WareFlowRecord/Dto/WareFlowRecordOutput.cs 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WareFlowRecord/IWareFlowRecordService.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WareFlowRecord/Map/WareFlowRecordMapper.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WareFlowRecord/WareFlowRecordService.cs 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WareTaskBak/Dto/WareTaskBakDto.cs 112 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WareTaskBak/Dto/WareTaskBakExcel.cs 151 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WareTaskBak/Dto/WareTaskBakInput.cs 234 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WareTaskBak/Dto/WareTaskBakOutput.cs 133 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WareTaskBak/IWareTaskBakService.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WareTaskBak/Map/WareTaskBakMapper.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WareTaskBak/WareTaskBakService.cs 258 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WmsAccessDetails/Dto/View_AccessDetailsDto.cs 92 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WmsAccessDetails/Dto/View_AccessDetailsInput.cs 198 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WmsAccessDetails/Dto/View_AccessDetailsOutput.cs 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WmsAccessDetails/IView_AccessDetailsService.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WmsAccessDetails/Map/View_AccessDetailsMapper.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WmsAccessDetails/View_AccessDetailsService.cs 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WmsIndex/Dto/IndexInput.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WmsIndex/Dto/IndexOutput.cs 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WmsIndex/IIndexCountService.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WmsIndex/IndexCountService.cs 132 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WmsLocationView/Dto/InventoryByLocationInput.cs 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WmsLocationView/Dto/InventoryByLocationOutput.cs 136 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WmsLocationView/Dto/LocationViewInput.cs 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WmsLocationView/Dto/LocationViewOutput.cs 117 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WmsLocationView/IlocationViewService.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WmsLocationView/locationViewService.cs 163 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/Wmsjob/AgvTask/AgvCallbackService.cs 288 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/Wmsjob/AgvTask/Dto/AgvCallbackInput.cs 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/Wmsjob/AgvTask/Dto/AgvCommonResponseDto.cs 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/Wmsjob/AgvTask/Dto/AgvWarnCallbackDto.cs 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/Wmsjob/WmsBindEntrance/BindEntranceService.cs 524 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/Wmsjob/WmsBindEntrance/Dto/BindEntranceDto.cs 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/Wmsjob/WmsBindEntrance/Dto/BindEntranceInput.cs 270 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/Wmsjob/WmsBindEntrance/Dto/BindEntranceOutput.cs 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/Wmsjob/WmsBindEntrance/Dto/WmsMaterialContainerDto.cs 113 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/Wmsjob/WmsBindEntrance/IBindEntranceService.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/Wmsjob/WmsExWarehouse/Dto/ExWarehouseInput.cs 92 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/Wmsjob/WmsExWarehouse/Dto/WmsMaterialStockDto.cs 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/Wmsjob/WmsExWarehouse/Dto/WmsMaterialStockInput.cs 165 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/Wmsjob/WmsExWarehouse/Dto/WmsMaterialStockOutput.cs 217 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/Wmsjob/WmsExWarehouse/ExWarehouseService.cs 667 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/Wmsjob/WmsExWarehouse/IExWarehouseService.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/Wmsjob/WmsExWarehouse/Map/WmsMaterialStockMapper.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/Wmsjob/WmsTask/Dto/WMSAgvTAskInput.cs 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/Wmsjob/WmsTask/Dto/WMSConfirmInput.cs 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/Wmsjob/WmsTask/Dto/WmsTaskDto.cs 173 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/Wmsjob/WmsTask/Dto/WmsTaskInput.cs 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/Wmsjob/WmsTask/Dto/WmsTaskOutput.cs 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/Wmsjob/WmsTask/IWmsTaskService.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/Wmsjob/WmsTask/Map/WmsTaskMapper.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Service/Wmsjob/WmsTask/WmsTaskService.cs 986 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/SpareTimes/SpareTimeDemo.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/Startup.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/applicationsettings.json 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/iWare.Wms.Application.csproj 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Application/iWare.Wms.Application.xml 13685 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Const/ClaimConst.cs 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Const/CommonConst.cs 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/DEntityBase.cs 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/IDataPermissions.cs 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/System/SysApp.cs 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/System/SysCodeGen.cs 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/System/SysCodeGenConfig.cs 153 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/System/SysCodeModular.cs 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/System/SysConfig.cs 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/System/SysDictData.cs 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/System/SysDictType.cs 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/System/SysEmp.cs 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/System/SysEmpExtOrgPos.cs 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/System/SysEmpPos.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/System/SysFile.cs 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/System/SysForm.cs 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/System/SysLogAudit.cs 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/System/SysLogEx.cs 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/System/SysLogOp.cs 121 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/System/SysLogVis.cs 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/System/SysLowCode.cs 116 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/System/SysLowCodeDataBase.cs 132 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/System/SysMenu.cs 142 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/System/SysNotice.cs 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/System/SysNoticeUser.cs 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/System/SysOnlineUser.cs 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/System/SysOrg.cs 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/System/SysPos.cs 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/System/SysRole.cs 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/System/SysRoleDataScope.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/System/SysRoleMenu.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/System/SysTimer.cs 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/System/SysUser.cs 160 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/System/SysUserDataScope.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/System/SysUserRole.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/WmsBase/WareDeviceWarning.cs 126 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/WmsBase/WareFlowRecord.cs 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/WmsBase/WareSite.cs 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/WmsBase/WmsArea.cs 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/WmsBase/WmsContainer.cs 121 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/WmsBase/WmsContainerType.cs 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/WmsBase/WmsLocationType.cs 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/WmsBase/WmsMaterial.cs 185 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/WmsBase/WmsPart.cs 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/WmsBase/WmsPlace.cs 171 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/WmsCount/WmsMaterialStock.cs 118 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/WmsCount/v_AccessDetails.cs 100 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/WmsJob/WareContainerVsMaterial.cs 114 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/WmsJob/WareLocationVsContainer.cs 93 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/WmsJob/WareTask.cs 126 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/WmsJob/WareTaskBak.cs 127 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/WmsJob/WareTaskSub.cs 132 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/WmsJob/WareTaskSubBak.cs 134 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/WmsJob/WmsMaterialContainer.cs 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/WmsJob/WmsTask.cs 143 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/WmsJob/v_empty_location.cs 173 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Entity/WmsJob/v_ware_inventory_by_container.cs 187 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Enum/AdminType.cs 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Enum/CommonStatus.cs 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Enum/DataOpType.cs 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Enum/DataScopeType.cs 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Enum/DeepcellNoEnum.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Enum/EnumAuditStatus.cs 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Enum/ErrorCode.cs 455 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Enum/FileLocation.cs 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Enum/FormDesignType.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Enum/Gender.cs 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Enum/HttpMethod.cs 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Enum/HttpStatusCode.cs 252 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Enum/LineTypeEnum.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Enum/LoginType.cs 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Enum/MenuOpenType.cs 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Enum/MenuType.cs 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Enum/MenuWeight.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Enum/MessageType.cs 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Enum/MeterialType.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Enum/NoticeStatus.cs 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Enum/NoticeType.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Enum/NoticeUserStatus.cs 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Enum/QueryTypeEnum.cs 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Enum/RequestTypeEnum.cs 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Enum/RoleTypeEnum.cs 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Enum/SiteTypeEnum.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Enum/StockStatusEnum.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Enum/SubTaskStateEnum.cs 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Enum/TaskCategoryEnum.cs 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Enum/TaskStateEnum.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Enum/WmsAreaEnum.cs 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Enum/WmsContainerEnum.cs 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Enum/WmsMaterialEnum.cs 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Enum/WmsTaskEnum.cs 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Enum/YesOrNot.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/EventSubscriber/LogEventSubscriber.cs 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Extension/CsRedisExtensions.cs 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Extension/DictionaryExtensions.cs 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Extension/FakeDeleteExtensions.cs 140 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Extension/LambdaExpressionBuilder.cs 183 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Extension/NewtonsoftJsonSerializerProvider .cs 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Extension/QueryableExstenstions.cs 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Filter/DisableOpLogAttribute.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Filter/LogExceptionHandler.cs 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Filter/RequestActionFilter.cs 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Helper/ExcelHelper/Excel.cs 147 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Helper/ExcelHelper/Excel2003Result.cs 152 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Helper/ExcelHelper/ExcelBaseResult.cs 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Helper/ExcelHelper/ExcelDataOptionAttribute.cs 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Helper/ExcelHelper/ExcelOperation.cs 766 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Options/RefreshTokenSettingOptions.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/SeedData/SysAppSeedData.cs 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/SeedData/SysConfigSeedData.cs 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/SeedData/SysDictDataSeedData.cs 208 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/SeedData/SysDictTypeSeedData.cs 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/SeedData/SysEmpExtOrgPos.cs 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/SeedData/SysEmpPosSeedData.cs 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/SeedData/SysEmpSeedData.cs 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/SeedData/SysMenuSeedData.cs 274 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/SeedData/SysOrgSeedData.cs 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/SeedData/SysPosSeedData.cs 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/SeedData/SysRoleSeedData.cs 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/SeedData/SysTimerSeedData.cs 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/SeedData/SysUserDataScopeSeedData.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/SeedData/SysUserRoleSeedData.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/SeedData/SysUserSeedData.cs 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/SeedData/WmsAreaSeedData.cs 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/SeedData/WmsContainerSeedData.cs 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/SeedData/WmsMaterialSeedData.cs 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/SeedData/WmsMaterialStockSeedData.cs 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/SeedData/WmsPlaceSeedData.cs 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/SeedData/WmsTaskSeedData.cs 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Service/BaseId.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/CodeGenUtil.cs 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/DataCompareUtil.cs 215 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/DateTimeOffSetToDateTime.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/EnumEntity.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/EnumUtil.cs 204 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/IPUtil.cs 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/JsonUtil.cs 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Dto/Front_FileDto.cs 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Enum/FieldType.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/EssentialFactor.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Factor/DateFactor.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Factor/DecimalFactor.cs 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Factor/Interface/IFactor.cs 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Factor/TextFactor.cs 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Att/FrontTypeAttribute.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Att/FrontTypeBindDatabaseAttribute.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Code/AutoCode_Dynamic.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Code/AutoCode_Front.cs 103 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Code/AutoCode_FrontModel.cs 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Code/FileUrl_Code.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_Alert.cs 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_Batch.cs 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_Button.cs 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_Card.cs 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_Cascader.cs 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_Checkbox.cs 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_Date.cs 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_Divider.cs 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_Editor.cs 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_Grid.cs 108 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_Html.cs 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_Input.cs 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_Number.cs 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_Radio.cs 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_Rate.cs 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_Select.cs 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_SelectInputList.cs 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_Slider.cs 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_Switch.cs 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_Table.cs 128 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_Tabs.cs 121 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_Text.cs 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_Textarea.cs 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_Time.cs 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_TreeSelect.cs 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_UploadFile.cs 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_UploadImg.cs 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Interface/IFront.cs 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Interface/IFrontDynamic.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Interface/IFrontDynamicOptions.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Interface/IFrontLayout.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Model/Front_Base.cs 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Model/Front_Config.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Model/Front_Convert.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Model/Front_Dynamic.cs 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Model/Front_Model.cs 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Model/Front_Option.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Model/Front_Rule.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Model/Front_Tree_Option.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Model/NotFoundFrontException.cs 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Model/ViewDynamic.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/LowCode/SysFileServiceEx.cs 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/MachineUtil.cs 261 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/PageInputOrder.cs 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/PagedUtil.cs 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/ReflectionUtil.cs 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/ShellUtil.cs 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/TreeBuildUtil.cs 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/XnInputBase.cs 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/XnPageResult.cs 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/Util/XnRestfulResultProvider.cs 174 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/applicationconfig.json 92 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Core/iWare.Wms.Core.csproj 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Database.Migrations/Migrations/20230419063037_v1.0.1.Designer.cs 10542 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Database.Migrations/Migrations/20230419063037_v1.0.1.cs 2021 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Database.Migrations/Migrations/20230420055601_v1.0.2.Designer.cs 10558 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Database.Migrations/Migrations/20230420055601_v1.0.2.cs 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Database.Migrations/Migrations/20230420070950_v1.0.3.Designer.cs 10789 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Database.Migrations/Migrations/20230420070950_v1.0.3.cs 127 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Database.Migrations/Migrations/DefaultDbContextModelSnapshot.cs 10787 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Database.Migrations/iWare.Wms.Database.Migrations.csproj 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.EntityFramework.Core/DbContexts/DefaultDbContext.cs 305 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.EntityFramework.Core/DbContexts/MultiTenantDbContext.cs 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.EntityFramework.Core/Startup.cs 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.EntityFramework.Core/dbsettings.json 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.EntityFramework.Core/iWare.Wms.EntityFramework.Core.csproj 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Core/Handlers/JwtHandler.cs 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Core/ServiceExtension/BStyleServiceExtension.cs 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Core/ServiceExtension/SnowflakeIdServiceExtension.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Core/Startup.cs 142 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Core/iWare.Wms.Web.Core.csproj 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/.config/dotnet-tools.json 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/Controllers/HomeController.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/Program.cs 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/Properties/launchSettings.json 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/Views/Home/Index.cshtml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/Views/Shared/_Layout.cshtml 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/Views/_ViewImports.cshtml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/Views/_ViewStart.cshtml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/appsettings.json 175 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/iWare.Wms.Web.Entry.csproj 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Captcha/Font/font1559.ttf 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Captcha/Image/1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Captcha/Image/2.jpg 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Captcha/Image/3.jpg 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Captcha/Image/4.jpg 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Captcha/Image/5.jpg 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Captcha/Image/6.jpg 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Captcha/Image/7.jpg 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Captcha/Image/8.jpg 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Image/logo.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Template.zip 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Template/Dto.cs.cshtml 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Template/Dto.cs.vm 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Template/Entity.cs.cshtml 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Template/Entity.cs.vm 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Template/IService.cs.cshtml 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Template/IService.cs.vm 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Template/Input.cs.cshtml 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Template/Input.cs.vm 76 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Template/Manage.js.cshtml 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Template/Manage.js.vm 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Template/Mapper.cs.cshtml 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Template/Mapper.cs.vm 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Template/Output.cs.cshtml 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Template/Output.cs.vm 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Template/Service.cs.cshtml 185 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Template/Service.cs.vm 185 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Template/addForm.vue.cshtml 284 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Template/addForm.vue.vm 283 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Template/editForm.vue.cshtml 277 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Template/editForm.vue.vm 374 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Template/index.vue.cshtml 337 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Template/index.vue.vm 336 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Upload/Default/273667564548165.jpeg 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Upload/Default/290520762908741.jpg 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Upload/Default/290540885852229.jpg 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Upload/Default/290541680373829.jpg 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Upload/Default/290541696553029.jpg 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Upload/Default/290541720457285.jpg 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Upload/Default/290543139135557.jpg 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Upload/Default/290543159849029.jpg 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Upload/Default/290543276712005.jpg 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Upload/Default/290543306960965.jpg 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Upload/Default/290543630598213.jpg 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Upload/Default/290543643689029.jpg 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Upload/Default/290544533905477.jpg 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Upload/Default/290544557092933.jpg 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Upload/Default/351604299395141.jpg 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Upload/Default/352893017190469.jpg 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Upload/Default/352918594232389.jpg 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/avatar2.jpg 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/css/app.7633af46.css 16465 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/css/app.7633af46.css.gz 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/css/chunk-b7a16696.677134ab.css 845 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/css/chunk-b7a16696.677134ab.css.gz 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/css/chunk-vendors.4659697d.css 30745 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/css/chunk-vendors.4659697d.css.gz 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/css/fail.8d6df989.css 1703 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/css/fail.8d6df989.css.gz 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/css/site.css 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/css/theme-colors-ef7df4e0.css 1385 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/css/user.fa7ae686.css 723 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/css/user.fa7ae686.css.gz 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/favicon.ico 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/img/bg.110420cf.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/img/logo.a0cbaad2.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/img/map.3425b845.jpg 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/img/map.ae82c867.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/img/map2.48889afd.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/img/welcome.164ddad4.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/index.html 128 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/js/app.413ecdbc.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/js/app.413ecdbc.js.gz 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/js/chunk-b7a16696.e8717d8b.js 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/js/chunk-b7a16696.e8717d8b.js.gz 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/js/chunk-vendors.c9111d8d.js 1003 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/js/chunk-vendors.c9111d8d.js.gz 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/js/fail.c1daacfd.js 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/js/fail.c1daacfd.js.gz 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/js/site.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/js/user.6ca40864.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/js/user.6ca40864.js.gz 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/LICENSE 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css 4997 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css.map 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css.map 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.css 4996 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.css.map 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.min.css 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.min.css.map 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css 427 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css.map 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.min.css 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.min.css.map 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.css 424 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.css.map 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.min.css 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.min.css.map 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.css 4866 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.css.map 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.min.css 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.min.css.map 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.css 4857 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.css.map 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.min.css 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.min.css.map 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap.css 11221 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap.css.map 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css.map 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.css 11197 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.css.map 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.min.css 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.min.css.map 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js 6780 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js.map 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js.map 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.js 4977 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.js.map 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.min.js 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.min.js.map 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/js/bootstrap.js 5026 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/js/bootstrap.js.map 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js.map 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/jquery-validation-unobtrusive/LICENSE.txt 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js 432 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/jquery-validation/LICENSE.md 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/jquery-validation/dist/additional-methods.js 1158 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/jquery-validation/dist/additional-methods.min.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/jquery-validation/dist/jquery.validate.js 1601 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/jquery-validation/dist/jquery.validate.min.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/jquery/LICENSE.txt 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/jquery/dist/jquery.js 10872 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/jquery/dist/jquery.min.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/jquery/dist/jquery.min.map 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/loading/loading.css 132 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/loading/loading.html 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/loading/option2/html_code_segment.html 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/loading/option2/loading.css 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/loading/option2/loading.svg 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/logo.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/.vscode/extensions.json 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/README.md 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/dist/assets/Screen1.3165b730.js 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/dist/assets/Screen1.af811640.css 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/dist/assets/Screen3.68482974.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/dist/assets/Screen3.ef42553b.css 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/dist/assets/bg.0b1d8907.jpg 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/dist/assets/fonts/element-icons.ttf 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/dist/assets/fonts/element-icons.woff 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/dist/assets/head_bg.0e5deb14.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/dist/assets/header3.d326a2af.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/dist/assets/iconfont.31c70f5b.woff 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/dist/assets/iconfont.e1350bca.ttf 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/dist/assets/index.b5faa898.css 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/dist/assets/index.d17f1add.js 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/dist/assets/index.f473c350.js 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/dist/assets/shelves_normal.7e1d90d3.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/dist/assets/shelves_normal2.bcf1a674.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/dist/assets/yejing.2a87918f.TTF 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/dist/config.js 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/dist/favicon.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/dist/fonts/element-icons.ttf 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/dist/fonts/element-icons.woff 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/dist/index.html 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/index.html 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/package-lock.json 770 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/package.json 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/public/assets/fonts/element-icons.ttf 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/public/assets/fonts/element-icons.woff 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/public/config.js 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/public/favicon.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/public/fonts/element-icons.ttf 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/public/fonts/element-icons.woff 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/App.vue 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/fonts/iconfont.css 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/fonts/iconfont.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/fonts/iconfont.json 114 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/fonts/iconfont.ttf 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/fonts/iconfont.woff 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/fonts/iconfont.woff2 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/fonts/yejing.TTF 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/images/bg.jpg 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/images/bg01.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/images/bg02.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/images/ck1.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/images/ck2.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/images/ck3.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/images/ck4.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/images/ck5.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/images/down.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/images/head_bg.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/images/icon1.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/images/icon2.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/images/icon3.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/images/icon4.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/images/icon5.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/images/icon6.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/images/icon7.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/images/icon8.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/images/icon9.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/images/loading.gif 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/images/pk.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/images/tp1.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/images/up.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/img/screen/center/machine_abnormal.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/img/screen/center/machine_green.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/img/screen/center/machine_normal.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/img/screen/center/machine_track_normal.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/img/screen/center/rate_box.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/img/screen/center/rgv_abnormal.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/img/screen/center/rgv_green.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/img/screen/center/rgv_normal.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/img/screen/center/rgv_track_normal.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/img/screen/center/shelves_normal.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/img/screen/center/shelves_normal2.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/img/screen/center/备份.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/img/screen/header1.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/img/screen/header3.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/img/screen/title-line.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/img/screen/title-tag.png 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/js/utils/index.js 179 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/js/utils/modules/color.js 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/js/utils/modules/eleResize.js 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/js/utils/modules/project.js 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/js/utils/modules/regexValidate.js 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/style/base.css 149 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/style/comon0.css 473 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/style/reset.css 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/assets/style/style-vars.scss 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/components/AutoScroll.vue 223 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/components/DropdownMenu.vue 298 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/components/Pannel1.vue 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/components/SearchBar.vue 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/components/UploadButton.vue 152 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/config/index.js 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/config/lang/en.json 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/config/lang/index.js 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/config/lang/zh_CN.json 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/config/modules/ajax.js 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/config/modules/pagination.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/main.js 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/NotFound.vue 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/archives/carriers/Index.vue 204 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/archives/carriers/compontents/ChooseModal.vue 146 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/archives/carriers/compontents/FormModal.vue 180 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/archives/goods/Index.vue 250 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/archives/goods/compontents/ChooseModal.vue 200 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/archives/goods/compontents/FormModal.vue 235 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/home/Index.vue 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/home/compontents/ModelEDetailModal.vue 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/home/compontents/ModuleA.vue 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/home/compontents/ModuleB.vue 244 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/home/compontents/ModuleC.vue 284 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/home/compontents/ModuleD.vue 152 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/home/compontents/ModuleE.vue 156 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/layout/Index.vue 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/layout/compontents/Header.vue 127 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/layout/compontents/LeftAside.vue 110 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/layout/compontents/SubContainter.vue 180 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/layout/compontents/SubMenus.vue 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/layout/compontents/Tabs.vue 244 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/layout/compontents/Title.vue 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/login/Index.vue 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/login/components/Form.vue 118 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/screen/Screen1.vue 368 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/screen/Screen2.vue 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/screen/Screen3.vue 1482 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/screen/Screen4.vue 314 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/screen/components/BlockTitle.vue 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/screen/components/Center.vue 462 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/screen/components/Header.vue 177 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/screen/components/Inputs.vue 104 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/screen/components/Outputs.vue 99 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/screen/components/PlanWarnings.vue 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/screen/components/Plans.vue 271 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/screen/components/Stock.vue 180 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/screen/components/TableInfo.vue 108 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/screen/components/TableTask.vue 113 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/screen/components/Warnings.vue 99 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/screen/home.vue 293 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/statistics/agv/Index.vue 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/statistics/eqpErrs/Index.vue 139 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/statistics/equipments/Index.vue 211 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/statistics/equipments/compontents/ChangeStatusModal.vue 145 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/statistics/equipments/compontents/ModuleA.vue 303 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/statistics/equipments/compontents/ModuleB.vue 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/statistics/equipments/compontents/ModuleC.vue 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/statistics/inout/Index.vue 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/statistics/inout/components/CarriersIndex.vue 192 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/statistics/inout/components/GoodsIndex.vue 259 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/statistics/inventory/Index.vue 218 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/statistics/inventory/components/Choose.vue 296 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/statistics/inventory/components/OrderChoose.vue 236 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/statistics/outPlan/Index.vue 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/statistics/overdue/index.vue 212 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/statistics/storeLocation/Index.vue 333 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/statistics/virtualInOut/Index.vue 203 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/statistics/virtualInventory/Index.vue 194 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/system/dictionaries/Index.vue 346 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/system/dictionaries/compontents/DataFormModal.vue 166 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/system/dictionaries/compontents/FormModal.vue 156 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/system/orderNo/Index.vue 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/system/orderNo/compontents/Action.vue 135 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/system/orderNo/compontents/AllHistory.vue 106 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/system/orderNo/compontents/FormModal.vue 122 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/system/orderNo/compontents/HistoryModal.vue 97 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/system/permissions/Index.vue 189 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/system/permissions/compontents/FormModal.vue 176 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/system/roles/Index.vue 202 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/system/roles/compontents/AuthorityModal.vue 184 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/system/roles/compontents/FormModal.vue 156 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/system/special/Index.vue 211 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/system/special/components/NewModal.vue 107 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/system/users/Index.vue 220 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/system/users/compontents/FormModal.vue 229 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/system/users/compontents/ModifyMyPassword.vue 131 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/tasks/carriersInput/Index.vue 188 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/tasks/carriersInput/compontents/AddFormModal.vue 134 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/tasks/carriresOutput/Index.vue 197 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/tasks/carriresOutput/compontents/NewModal.vue 167 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/tasks/input/Index.vue 284 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/tasks/input/compontents/AddFormModal.vue 180 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/tasks/output/Index.vue 284 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/tasks/output/compontents/NewModal.vue 210 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/tasks/output/compontents/SequenceModal.vue 129 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/tasks/outputPlan/Index.vue 491 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/tasks/outputPlan/compontents/CheckModal.vue 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/tasks/outputPlan/compontents/FormModal.vue 827 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/tasks/virtualInput/Index.vue 184 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/tasks/virtualInput/compontents/AddFormModal.vue 170 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/tasks/virtualOutput/Index.vue 185 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/tasks/virtualOutput/compontents/NewModal.vue 188 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/pages/test.vue 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/service/ajax/index.js 179 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/service/ajax/modules/beforeSend.js 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/service/i18n.js 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/service/router/index.js 200 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/service/store/index.js 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/service/store/modules/system.js 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/service/store/modules/user.js 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/theme/theme-default.scss 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/theme/theme-green.scss 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/src/utils/cache.ts 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Screen/vite.config.js 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/DLL/HslCommunication.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/DLL/HslCommunication.xml 23728 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/LA22A07.Wcs.sln 133 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/ServiceClient/App.config 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/ServiceClient/ConfigCommon.cs 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/ServiceClient/Program.cs 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/ServiceClient/Properties/AssemblyInfo.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/ServiceClient/Properties/Resources.Designer.cs 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/ServiceClient/Properties/Resources.resx 117 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/ServiceClient/Properties/Settings.Designer.cs 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/ServiceClient/Properties/Settings.settings 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/ServiceClient/Service.ico 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/ServiceClient/ServiceClient.cs 566 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/ServiceClient/ServiceClient.csproj 139 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/ServiceClient/ServiceClient.designer.cs 292 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/ServiceClient/ServiceClient.resx 303 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/ServiceClient/ServiceSection.cs 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/ServiceClient/Windows.cs 222 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/Services/DeleteTaskService/Program.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/Services/DeleteTaskService/ProjectInstaller.Designer.cs 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/Services/DeleteTaskService/ProjectInstaller.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/Services/DeleteTaskService/ProjectInstaller.resx 129 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/Services/DeleteTaskService/Properties/AssemblyInfo.cs 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/Services/DeleteTaskService/app.config 115 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/Services/DeleteTaskService/iWareDeleteTaskService.Designer.cs 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/Services/DeleteTaskService/iWareDeleteTaskService.cs 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/Services/DeleteTaskService/iWareDeleteTaskService.csproj 156 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/Services/DeleteTaskService/iWareDeleteTaskService.resx 123 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/Services/DeleteTaskService/packages.config 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/Services/PastDueService/Program.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/Services/PastDueService/ProjectInstaller.Designer.cs 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/Services/PastDueService/ProjectInstaller.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/Services/PastDueService/ProjectInstaller.resx 129 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/Services/PastDueService/Properties/AssemblyInfo.cs 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/Services/PastDueService/app.config 115 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/Services/PastDueService/iWarePastDueService.Designer.cs 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/Services/PastDueService/iWarePastDueService.cs 76 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/Services/PastDueService/iWarePastDueService.csproj 156 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/Services/PastDueService/iWarePastDueService.resx 123 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/Services/PastDueService/packages.config 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/App.config 121 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/BLL/ConveyorBLL.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/BLL/MesBLL.cs 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/BLL/RgvBLL.cs 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/BLL/SrmBLL.cs 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Common/DeviceDict.cs 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Common/Helper/ControlHelper.cs 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Common/Helper/FormHelper.cs 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Common/Helper/MyExtendHelper.cs 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Common/MyMesService.cs 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Common/SystemValue.cs 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Common/SystemValueUtil.cs 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Common/SystemWarningMsg.cs 148 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Connected Services/ConveyorService/Reference.cs 1252 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Connected Services/ConveyorService/Reference.svcmap 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Connected Services/ConveyorService/configuration.svcinfo 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Connected Services/ConveyorService/configuration91.svcinfo 201 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Connected Services/ConveyorService/iWareCC.ConveyorService.ConveyerView.datasource 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Connected Services/ConveyorService/iWareCC.ConveyorService.SdaResEntity.datasource 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Connected Services/ConveyorService/iWareSda.Devices._3_Conveyer.ConveyerModel.xsd 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Connected Services/ConveyorService/iWareSda.Model.xsd 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Connected Services/ConveyorService/iWareSda.xsd 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Connected Services/ConveyorService/service.wsdl 440 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Connected Services/ConveyorService/service.xsd 347 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Connected Services/ConveyorService/service1.xsd 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Connected Services/RgvService/Reference.cs 1190 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Connected Services/RgvService/Reference.svcmap 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Connected Services/RgvService/configuration.svcinfo 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Connected Services/RgvService/configuration91.svcinfo 201 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Connected Services/RgvService/iWareCC.RgvService.RgvView.datasource 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Connected Services/RgvService/iWareCC.RgvService.SdaResEntity.datasource 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Connected Services/RgvService/iWareSda.Devices._3_Rgv.RgvModel1.xsd 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Connected Services/RgvService/iWareSda.Model1.xsd 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Connected Services/RgvService/iWareSda1.xsd 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Connected Services/RgvService/service.wsdl 250 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Connected Services/RgvService/service.xsd 191 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Connected Services/RgvService/service1.xsd 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Connected Services/SrmService/Reference.cs 2098 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Connected Services/SrmService/Reference.svcmap 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Connected Services/SrmService/configuration.svcinfo 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Connected Services/SrmService/configuration91.svcinfo 201 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Connected Services/SrmService/iWareCC.SrmService.IsAllowSendTaskResponse.datasource 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Connected Services/SrmService/iWareCC.SrmService.IsReadyResponse.datasource 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Connected Services/SrmService/iWareCC.SrmService.SdaResEntity.datasource 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Connected Services/SrmService/iWareCC.SrmService.SrmEntity.datasource 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Connected Services/SrmService/iWareCC.SrmService.SrmView.datasource 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Connected Services/SrmService/iWareSda.SrmService.SrmEntity1.xsd 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Connected Services/SrmService/service1.wsdl 210 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Connected Services/SrmService/service1.xsd 166 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Connected Services/SrmService/service11.wsdl 332 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Connected Services/SrmService/service2.xsd 144 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Connected Services/SrmService/service21.xsd 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/DeviceThreadFactory/DeviceThreadService/AGVThreadService/AGVThreadService.cs 540 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/DeviceThreadFactory/DeviceThreadService/ConveyorThreadService/ConveyorThreadService.cs 445 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/DeviceThreadFactory/DeviceThreadService/RgvThreadService/RgvTaskThreadService.cs 1193 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/DeviceThreadFactory/DeviceThreadService/SrmThreadService/SrmTaskThreadService.cs 986 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/DeviceThreadFactory/DeviceThreadServiceFactory.cs 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/DeviceThreadFactory/DeviceThreadServiceHandle.cs 412 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/FormCC.Designer.cs 1534 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/FormCC.cs 1502 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/FormCC.resx 233 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Forms/SrmStockForm.Designer.cs 277 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Forms/SrmStockForm.cs 696 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Forms/SrmStockForm.resx 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Forms/SystemCheckForm.Designer.cs 342 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Forms/SystemCheckForm.cs 409 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Forms/SystemCheckForm.resx 123 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/IwareICO.ico 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Logo.ico 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Program.cs 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Properties/AssemblyInfo.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Properties/Resources.Designer.cs 92 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Properties/Resources.resx 130 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Properties/Settings.Designer.cs 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Properties/Settings.settings 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Resources/穿梭子母车(彩色).jpg 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/Resources/穿梭母车1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/WCF/CCWcfService.cs 239 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/WCF/ICCWcfService.cs 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/WmsTask/MainTaskCompleteHandle.cs 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/WmsTask/MainTaskDecompose.cs 556 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/WmsTask/MoveTaskHandle.cs 178 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/WmsTask/ScanContainerCode.cs 281 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCC_ASRS/iWareCC.csproj 332 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/BusinessHelper/BusinessHelper.cs 139 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/BusinessHelper/WCSConfigHelper.cs 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Common/Dao/CommonDao.cs 554 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Common/Dao/_system~.ini 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Common/Globle/SysGloble.cs 243 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Common/ParamEntity/AddMainTaskPostParam.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Common/Service/CommonService.cs 405 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Common/Service/_system~.ini 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Common/ServiceEntity/Conveyor/ConveyorEntity/Conveyor_CacheEntity.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Common/ServiceEntity/Conveyor/ConveyorEntity/SrmConveyorEntity.cs 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Common/ServiceEntity/Conveyor/ConveyorEntity/SrmConveyorStationEntity.cs 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Common/ServiceEntity/Conveyor/ConveyorEntity/SrmConveyor_DB.cs 114 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Common/ServiceEntity/Conveyor/ConveyorEnumType/ESrmConveyorAlarm.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Common/ServiceEntity/Srm/SrmEntity/CacheEntity.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Common/ServiceEntity/Srm/SrmEntity/Srm1_DB.cs 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Common/ServiceEntity/Srm/SrmEntity/Srm2_DB.cs 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Common/ServiceEntity/Srm/SrmEntity/SrmEntity.cs 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Common/ServiceEntity/Srm/SrmEntity/SrmInfo.cs 103 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Common/ServiceEntity/Srm/SrmEntity/Srm_CacheEntity.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Common/ServiceEntity/Srm/SrmEnumType/ESrmAlarm.cs 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Common/ServiceEntity/Srm/SrmEnumType/ESrmCmd.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Common/ServiceEntity/Srm/SrmEnumType/ESrmState.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/DLL/Castle.Core.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/DLL/Castle.Core.xml 5940 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/DLL/Common.Logging.Core.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/DLL/Common.Logging.Core.xml 876 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/DLL/Common.Logging.Log4Net1213.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/DLL/Common.Logging.Log4Net1213.xml 328 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/DLL/Common.Logging.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/DLL/Common.Logging.xml 2774 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/DLL/EntityFramework.SqlServer.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/DLL/EntityFramework.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/DLL/Interop.OPCAutomation.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/DLL/Newtonsoft.Json.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/DLL/Newtonsoft.Json.xml 10752 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/DLL/OpcAccess.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/DLL/Pager.XML 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/DLL/Pager.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/DLL/TwinCAT.Ads.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/DLL/TwinCatAdsAccess.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/DLL/WZ.Useful.Commons.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/DLL/log4net.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/DLL/log4net.xml 31814 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Properties/AssemblyInfo.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Properties/Resources.Designer.cs 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Properties/Resources.resx 123 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Utils/AutoSizeFormClass.cs 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Utils/Base64Helper.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Utils/CSharpHelper.cs 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Utils/ClassHelper.cs 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Utils/ComboBoxHelper.cs 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Utils/ConfigHelper.cs 106 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Utils/DESHelper.cs 569 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Utils/DataCache.cs 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Utils/DataTableHelper.cs 164 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Utils/DateTimeHelper.cs 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Utils/EntityPropHelper.cs 119 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Utils/EnumberHelper.cs 117 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Utils/ExcelHelper.cs 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Utils/FileHelper.cs 224 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Utils/FolderHelper.cs 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Utils/HTTP/HTTPService.cs 493 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Utils/HTTP/HttpHelper.cs 260 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Utils/HTTP/SSLUtil.cs 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Utils/IEnumerableHelper.cs 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Utils/IntHelper.cs 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Utils/ListHelper.cs 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Utils/Log4Net/C_LogWriter.cs 110 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Utils/Log4Net/Log4netHelper.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Utils/Log4Net/LogType.cs 104 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Utils/LogTextHelper.cs 99 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Utils/MD5Helper.cs 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Utils/MachineHelper.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Utils/MyBase64Helper.cs 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Utils/PageHelper.cs 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Utils/RandomHelper.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Utils/StringHelper.cs 159 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Utils/SysHelper.cs 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Utils/SysMessageUtil.cs 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Utils/TaskNoHelper.cs 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Utils/TextHelper.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Utils/ThreadHelper.cs 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Utils/TreeHelper.cs 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Utils/ValidateDataHelper.cs 374 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/Utils/ZipHelper.cs 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/iWareCommon.csproj 158 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareCommon/log4net_iWare.config 647 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/Entity/AGV/AgvCallbackRequestDto.cs 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/Entity/AGV/AgvCancelTask.cs 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/Entity/AGV/AgvCommonResponseDto.cs 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/Entity/AGV/AgvContinueTask.cs 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/Entity/AGV/AgvSchedulingTaskDto.cs 92 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/Entity/BindableBase.cs 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/Entity/Context.cs 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/Entity/Device/DeviceCoordinat.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/Entity/EnumberEntity.cs 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/Entity/Huffman.cs 220 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/Entity/IBuilder.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/Entity/ICommonEntity.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/Entity/IDirector.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/Entity/IHandler.cs 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/Entity/IService.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/Entity/IStrategy.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/Entity/ITreeEntity.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/Entity/LZW.cs 121 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/Entity/ListItem.cs 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/Entity/MES/MesRetModel.cs 76 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/Entity/MES/MesRetModel2.cs 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/Entity/MES/MesRetProductModel.cs 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/Entity/MES/MesUpdateOnlineStatusParamModel.cs 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/Entity/MES/Mes_BtjReceiveModel.cs 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/Entity/QueryParam.cs 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/Entity/ResponseListDataEntity.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/Entity/ResponseListDataPageEntity.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/Entity/ResponseSimpleDataEntity.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/Entity/ResultModel/FunRetEntity.cs 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/Entity/ResultModel/MessageModel.cs 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/Entity/ResultModel/ResEntity.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/Entity/SysUser.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/Entity/System/ColumnsModel.cs 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/Entity/System/PropertieModel.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/Entity/TEST.csdl 1432 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/Entity/TEST.designer.cs 25862 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/Entity/TEST.msl 1241 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/Entity/TEST.ssdl 1799 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/Entity/ValidateModel.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/Entity/ValidateResModel.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/Entity/WMS/CommonResponse.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/Entity/WMS/CriterionEnterInput.cs 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/Entity/WMS/FrontTaskInput.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/Entity/WMS/WMSConfirmInput.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/Entity/WMS/WarehousOrderInput.cs 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/Entity/_system~.ini 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/AoSinPublicCommon/ContainerTypeEnum.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/AoSinPublicCommon/EnumWarehousStatus.cs 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/AoSinPublicCommon/OrderTypeEnum.cs 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/AoSinPublicCommon/SiteTypeEnum.cs 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/AoSinPublicCommon/StockStatusEnum.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/AoSinPublicCommon/TaskCategoryEnum.cs 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/EDbError.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/EDevice/AGV/AGVState.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/EDevice/AGV/AgvForceCancel Type.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/EDevice/AGV/AgvPositionType.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/EDevice/AGV/AgvTaskTypeEnum.cs 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/EDevice/Conveyer/EConveyerAlarm.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/EDevice/Conveyer/EConveyerBodyTest.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/EDevice/Conveyer/EConveyerCmd.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/EDevice/Conveyer/EConveyerEvent.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/EDevice/Conveyer/EConveyerMode.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/EDevice/Conveyer/EConveyerState.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/EDevice/EDevice.cs 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/EDevice/EDeviceType.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/EDevice/ESrmAlarm.cs 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/EDevice/Line/LineLocation.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/EDevice/Line/RgvErrorReason.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/EDevice/Line/RgvInOutFlag.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/EDevice/Line/RgvIsDie.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/EDevice/Line/RgvIsStock.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/EDevice/Line/RgvWorkMode.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/EDevice/Rgv/ERgvAlarm.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/EDevice/Rgv/ERgvBodyTest.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/EDevice/Rgv/ERgvCmd.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/EDevice/Rgv/ERgvEvent.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/EDevice/Rgv/ERgvMode.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/EDevice/Rgv/ERgvState.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/EDevice/Srm/ESrmCmd.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/EDevice/Srm/ESrmForkPosition.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/EDevice/Srm/ESrmMode.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/EDevice/Srm/ESrmState.cs 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/EDevice/Srm/ESrmTaskType.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/EDevice/SubTaskStateEnum.cs 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/EDevice/TaskStateEnum.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/ExceptionEnum.cs 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/PLC/PLCServiceTypeEnum.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/RequestStatusEnum.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/StackSequenceSortRule.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/Sys/LanguageEnum.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/Sys/ValidateIntEnum.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/TaskExcuteTypeEnum.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/ThreadDirectionEnum.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/WareLaneEnum.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/XiGangPublicCommon/AddTransferTaskEnum.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/XiGangPublicCommon/DeviceTaskTypeEnum.cs 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/XiGangPublicCommon/MainInOutFlagEnum.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/XiGangPublicCommon/MainTaskStatusEnum.cs 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/XiGangPublicCommon/MainTaskTypeEnum.cs 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/XiGangPublicCommon/MaterialTypeEnum.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/XiGangPublicCommon/Plan/OutPlanStateEnum.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/XiGangPublicCommon/Plan/OutPlanTypeEnum.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/XiGangPublicCommon/Plan/OutTaskDetailStateEnum.cs 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/XiGangPublicCommon/Plan/OutTaskModeEnum.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/EnumType/XiGangPublicCommon/Salver_V_Station_StateEnum.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/Properties/AssemblyInfo.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareModel/iWareModel.csproj 156 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/App.config 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Common/SdaHelper.cs 180 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Common/Struct/WareSdaStruct.cs 416 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/DLL/EntityFramework.SqlServer.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/DLL/EntityFramework.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/DLL/Interop.OPCAutomation.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/DLL/Newtonsoft.Json.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/DLL/Newtonsoft.Json.xml 10752 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/DLL/OpcAccess.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/DLL/S7.Net.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/DLL/WZ.Useful.Commons.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/DLL/log4net.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/DLL/log4net.xml 31814 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/DLL/logtxt.dll 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Devices/1-Srm/SrmModel/DB/SrmDB2Obj.cs 224 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Devices/1-Srm/SrmModel/DB/SrmDBForRead.cs 103 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Devices/1-Srm/SrmModel/DB/SrmDBForWrite.cs 99 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Devices/1-Srm/SrmModel/SrmEntity.cs 641 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Devices/1-Srm/SrmModel/SrmView.cs 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Devices/1-Srm/SrmModel/Srm_CacheEntity.cs 198 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Devices/1-Srm/SrmService/ISrmService.cs 150 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Devices/1-Srm/SrmService/SrmService.cs 620 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Devices/2-Line/LineModel/DB/LineDB2Obj.cs 227 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Devices/2-Line/LineModel/DB/LineDBForRead.cs 143 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Devices/2-Line/LineModel/DB/LineDBForWrite.cs 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Devices/2-Line/LineModel/LineEntity.cs 149 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Devices/2-Line/LineModel/LineView.cs 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Devices/2-Line/LineModel/Line_CacheEntity.cs 131 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Devices/2-Line/LineService/ILineService.cs 76 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Devices/2-Line/LineService/LineService.cs 359 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Devices/3-HuscoLine/HuscoLineModel/DB/HuscoLineDB2Obj.cs 348 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Devices/3-HuscoLine/HuscoLineModel/DB/HuscoLineDBForRead.cs 341 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Devices/3-HuscoLine/HuscoLineModel/DB/HuscoLineDBForWrite.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Devices/3-HuscoLine/HuscoLineModel/HuscoLineEntity.cs 122 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Devices/3-HuscoLine/HuscoLineModel/HuscoLineView.cs 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Devices/3-HuscoLine/HuscoLineModel/HuscoLine_CacheEntity.cs 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Devices/3-HuscoLine/HuscoLineService/HuscoLineService.cs 195 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Devices/3-HuscoLine/HuscoLineService/IHuscoLineService.cs 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Devices/4-Rgv/RgvModel/DB/RgvComm.cs 203 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Devices/4-Rgv/RgvModel/DB/RgvDB2Obj.cs 283 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Devices/4-Rgv/RgvModel/DB/RgvDBForRead.cs 149 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Devices/4-Rgv/RgvModel/DB/RgvDBForWrite.cs 145 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Devices/4-Rgv/RgvModel/RgvEntity.cs 658 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Devices/4-Rgv/RgvModel/RgvView.cs 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Devices/4-Rgv/RgvModel/Rgv_CacheEntity.cs 296 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Devices/4-Rgv/RgvService/IRgvService.cs 114 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Devices/4-Rgv/RgvService/RgvService.cs 535 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Devices/5-Conveyer/ConveyerModel/ConveyerEntity.cs 1090 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Devices/5-Conveyer/ConveyerModel/ConveyerView.cs 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Devices/5-Conveyer/ConveyerModel/Conveyer_CacheEntity.cs 260 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Devices/5-Conveyer/ConveyerModel/DB/ConveyerComm.cs 229 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Devices/5-Conveyer/ConveyerModel/DB/ConveyerDB2Obj.cs 134 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Devices/5-Conveyer/ConveyerModel/DB/ConveyerDBForRead.cs 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Devices/5-Conveyer/ConveyerModel/DB/ConveyerDBForWrite.cs 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Devices/5-Conveyer/ConveyerService/ConveyerService.cs 848 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Devices/5-Conveyer/ConveyerService/IConveyerService.cs 189 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Interface/IDevice.cs 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/IwareICO.ico 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/LOGO.ico 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Model/DeviceWarningInfo.cs 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Model/SdaResEntity.cs 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/PLCService/Default/AB_HslCommunicationService.cs 202 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/PLCService/Default/SS7.cs 228 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/PLCService/Default/Siemens_HslCommunicationService.cs 238 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/PLCService/Models/BasePlcParam.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/PLCService/Models/HslCommunicationParam.cs 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/PLCService/Models/SS7Param.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/PLCService/PLCFactory.cs 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/PLCService/PLCService.cs 112 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Program.cs 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Properties/AssemblyInfo.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Properties/Resources.Designer.cs 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Properties/Resources.resx 117 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Properties/Settings.Designer.cs 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Properties/Settings.settings 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/Robot.ico 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/SdaMainForm.Designer.cs 322 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/SdaMainForm.cs 1013 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/SdaMainForm.resx 200 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/iWareSda.csproj 230 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSda/packages.config 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/App.config 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/ClassDiagram1.cd 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DataAccess/DeviceWarningHandler.cs 156 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DataAccess/PartTaskHandler.cs 175 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DataAccess/SysExceptionInfoHandler.cs 97 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/Base_SysExceptionInfo.cs 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/C__EFMigrationsHistory.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/DbEntity.Context.cs 91 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/DbEntity.Context.tt 636 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/DbEntity.Designer.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/DbEntity.cs 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/DbEntity.edmx 4198 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/DbEntity.edmx.diagram 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/DbEntity.tt 733 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/sys_app.cs 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/sys_code_gen.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/sys_code_gen_config.cs 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/sys_code_modular.cs 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/sys_config.cs 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/sys_dict_data.cs 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/sys_dict_type.cs 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/sys_emp.cs 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/sys_emp_ext_org_pos.cs 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/sys_file.cs 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/sys_forms.cs 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/sys_log_audit.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/sys_log_ex.cs 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/sys_log_op.cs 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/sys_log_vis.cs 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/sys_low_code_module.cs 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/sys_low_code_module_database.cs 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/sys_menu.cs 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/sys_notice.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/sys_notice_user.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/sys_org.cs 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/sys_pos.cs 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/sys_role.cs 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/sys_timer.cs 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/sys_user.cs 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/v_empty_location.cs 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/ware_container_vs_material.cs 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/ware_device_wareing.cs 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/ware_equipment.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/ware_location_vs_container.cs 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/ware_site.cs 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/ware_task.cs 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/ware_task_bak.cs 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/ware_task_sub.cs 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/ware_task_sub_bak.cs 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/wms_area.cs 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/wms_container.cs 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/wms_container_type.cs 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/wms_location_type.cs 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/wms_material.cs 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/wms_materialcontainer.cs 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/wms_materialstock.cs 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/wms_part.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/wms_place.cs 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/DbOrm/wms_task.cs 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/Entity/ExtendEntity/MatModel.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/Entity/ExtendEntity/RealPlaceEntity.cs 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/Entity/ExtendEntity/SyncStockToMesEntity.cs 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/Entity/ExtendEntity/UDT_SYS_ExceptionInfo_Extend.cs 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/Entity/MES/Mes_ResEntity.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/Entity/ParamModel/InformIniInfoToTrussParam.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/Entity/ParamModel/MesMatInfo.cs 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/Entity/ParamModel/Mes_BatchMat_Param.cs 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/Entity/ParamModel/Mes_BatchOrderUPIParam.cs 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/Entity/ParamModel/Srm_ItemParam.cs 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/Entity/ViewMode/AllMatStockViewForStockList.cs 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/Entity/ViewMode/BatchMatGatherView.cs 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/Entity/ViewMode/BatchMatView.cs 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/Entity/ViewMode/BatchOrderUPIView.cs 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/Entity/ViewMode/BoardLoadMaterialView.cs 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/Entity/ViewMode/MatStockCollectView.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/Entity/ViewMode/PlaceLocationView.cs 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/Properties/AssemblyInfo.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/iWareSql.csproj 275 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareSql/packages.config 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/App.config 104 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/InterFaceTestForm.Designer.cs 295 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/InterFaceTestForm.cs 399 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/InterFaceTestForm.resx 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/MainForm.Designer.cs 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/MainForm.cs 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/MainForm.resx 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Model/SelLoadStatus.cs 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Model/SelUnloadingTable.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Model/SimulatorCommonEntity.cs 150 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Model/TransTypeForOutStorageCompleted.cs 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Model/TypeEnum.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Program.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Properties/AssemblyInfo.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Properties/Resources.Designer.cs 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Properties/Resources.resx 117 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Properties/Settings.Designer.cs 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Properties/Settings.settings 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Service References/MesWebService/MesWebService1.disco 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Service References/MesWebService/MesWebService1.wsdl 317 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Service References/MesWebService/Reference.cs 746 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Service References/MesWebService/Reference.svcmap 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Service References/MesWebService/XiGang_iWareTestForm.MesWebService.GetMesMatInfoResponse.datasource 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Service References/MesWebService/XiGang_iWareTestForm.MesWebService.GetPlaceInfoResponse.datasource 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Service References/MesWebService/XiGang_iWareTestForm.MesWebService.SawingConfirmResponse.datasource 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Service References/MesWebService/XiGang_iWareTestForm.MesWebService.SendBatchUPIsResponse.datasource 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Service References/MesWebService/XiGang_iWareTestForm.MesWebService.SendInStoreBatchMatsResponse.datasource 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Service References/MesWebService/XiGang_iWareTestForm.MesWebService.SendOutStoreBatchMatsResponse.datasource 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Service References/MesWebService/XiGang_iWareTestForm.MesWebService.SendSynchroMatPlaceToMesResponse.datasource 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Service References/MesWebService/configuration.svcinfo 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Service References/MesWebService/configuration91.svcinfo 201 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Service References/SrmService/Reference.cs 971 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Service References/SrmService/Reference.svcmap 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Service References/SrmService/XiGang_iWareTestForm.SrmService.IsAllowSendTaskResponse.datasource 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Service References/SrmService/XiGang_iWareTestForm.SrmService.IsReadyResponse.datasource 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Service References/SrmService/XiGang_iWareTestForm.SrmService.SendSrmMoveResponse.datasource 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Service References/SrmService/XiGang_iWareTestForm.SrmService.SrmEntity.datasource 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Service References/SrmService/configuration.svcinfo 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Service References/SrmService/configuration91.svcinfo 201 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Service References/SrmService/iWareSda.SrmService.SrmEntity.xsd 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Service References/SrmService/service.wsdl 229 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Service References/SrmService/service.xsd 160 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Service References/SrmService/service1.xsd 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Service References/TrussService/Reference.cs 1463 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Service References/TrussService/Reference.svcmap 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Service References/TrussService/XiGang_iWareTestForm.TrussService.IsAllowSendTaskResponse.datasource 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Service References/TrussService/XiGang_iWareTestForm.TrussService.IsReadyResponse.datasource 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Service References/TrussService/XiGang_iWareTestForm.TrussService.TrussEntity.datasource 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Service References/TrussService/configuration.svcinfo 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Service References/TrussService/configuration91.svcinfo 201 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Service References/TrussService/iWareSda.TrussService.TrussEntity.xsd 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Service References/TrussService/service.wsdl 191 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Service References/TrussService/service.xsd 138 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Service References/TrussService/service1.xsd 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Utility/BLLHelpler.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Utility/CommonHelper.cs 153 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Utility/InterfaceSection.cs 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Utility/ReturnBody.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Utility/TestHelper.cs 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/Utility/TextHelper.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/iWareTest/DialogForm/AddInStoreTaskForm.Designer.cs 142 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/iWareTest/DialogForm/AddInStoreTaskForm.cs 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/iWareTest/DialogForm/AddInStoreTaskForm.resx 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/iWareTest/DialogForm/TestBatchForm.Designer.cs 276 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/iWareTest/DialogForm/TestBatchForm.cs 761 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/iWareTest/DialogForm/TestBatchForm.resx 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/iWareTest/RCSWCSTestForm.Designer.cs 254 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/iWareTest/RCSWCSTestForm.cs 322 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/iWareTest/RCSWCSTestForm.resx 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/packages.config 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareTestForm/西岗测试模拟器.csproj 322 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareUnitTest/App.config 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareUnitTest/CSharpTest.cs 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareUnitTest/OPCTest.cs 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareUnitTest/Properties/AssemblyInfo.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareUnitTest/Properties/DataSources/iWareCC_ASRS.SrmConveyorService.SrmConveyorEntity.datasource 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareUnitTest/Properties/DataSources/iWareCC_ASRS.SrmConveyorService.SrmConveyorStationEntity.datasource 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareUnitTest/Service References/MesWebService/MesWebService.disco 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareUnitTest/Service References/MesWebService/MesWebService.wsdl 317 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareUnitTest/Service References/MesWebService/Reference.cs 746 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareUnitTest/Service References/MesWebService/Reference.svcmap 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareUnitTest/Service References/MesWebService/configuration.svcinfo 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareUnitTest/Service References/MesWebService/configuration91.svcinfo 201 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareUnitTest/Service References/MesWebService/iWareUnitTest.MesWebService.GetMesMatInfoResponse.datasource 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareUnitTest/Service References/MesWebService/iWareUnitTest.MesWebService.GetPlaceInfoResponse.datasource 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareUnitTest/Service References/MesWebService/iWareUnitTest.MesWebService.SawingConfirmResponse.datasource 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareUnitTest/Service References/MesWebService/iWareUnitTest.MesWebService.SendBatchUPIsResponse.datasource 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareUnitTest/Service References/MesWebService/iWareUnitTest.MesWebService.SendInStoreBatchMatsResponse.datasource 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareUnitTest/Service References/MesWebService/iWareUnitTest.MesWebService.SendOutStoreBatchMatsResponse.datasource 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareUnitTest/Service References/MesWebService/iWareUnitTest.MesWebService.SendSynchroMatPlaceToMesResponse.datasource 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareUnitTest/SrmTaskThreadServiceTest.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareUnitTest/Task_UnitTest.cs 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareUnitTest/UPIs.txt 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_WCS/iWareUnitTest/iWareUnitTest.csproj 169 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA22A07_Front/.browserslistrc
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,3 @@
> 1%
last 2 versions
not ie <= 10
LA22A07_Front/.editorconfig
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,39 @@
[*]
charset=utf-8
end_of_line=lf
insert_final_newline=false
indent_style=space
indent_size=2
[{*.ng,*.sht,*.html,*.shtm,*.shtml,*.htm}]
indent_style=space
indent_size=2
[{*.jhm,*.xslt,*.xul,*.rng,*.xsl,*.xsd,*.ant,*.tld,*.fxml,*.jrxml,*.xml,*.jnlp,*.wsdl}]
indent_style=space
indent_size=2
[{.babelrc,.stylelintrc,jest.config,.eslintrc,.prettierrc,*.json,*.jsb3,*.jsb2,*.bowerrc}]
indent_style=space
indent_size=2
[*.svg]
indent_style=space
indent_size=2
[*.js.map]
indent_style=space
indent_size=2
[*.less]
indent_style=space
indent_size=2
[*.vue]
indent_style=space
indent_size=2
[{.analysis_options,*.yml,*.yaml}]
indent_style=space
indent_size=2
LA22A07_Front/.env
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,3 @@
NODE_ENV=production
VUE_APP_PREVIEW=true
VUE_APP_API_BASE_URL=http://localhost:7788
LA22A07_Front/.env.development
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,4 @@
NODE_ENV=development
VUE_APP_PREVIEW=true
VUE_APP_API_BASE_URL=http://localhost:7788
VUE_APP_SOCKET_BASE_URL=http://localhost:7788
LA22A07_Front/.env.preview
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,4 @@
NODE_ENV=production
VUE_APP_PREVIEW=false
VUE_APP_API_BASE_URL=http://localhost:7788
VUE_APP_SOCKET_BASE_URL=http://localhost:7788
LA22A07_Front/.eslintrc.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,77 @@
module.exports = {
  root: true,
  env: {
    node: true
  },
  'extends': [
    'plugin:vue/strongly-recommended',
    '@vue/standard'
  ],
  rules: {
    'no-console': 'off',
    'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
    'generator-star-spacing': 'off',
    'no-mixed-operators': 0,
    'vue/max-attributes-per-line': [
      2,
      {
        'singleline': 5,
        'multiline': {
          'max': 1,
          'allowFirstLine': false
        }
      }
    ],
    'vue/attribute-hyphenation': 0,
    'vue/html-self-closing': 0,
    'vue/component-name-in-template-casing': 0,
    'vue/html-closing-bracket-spacing': 0,
    'vue/singleline-html-element-content-newline': 0,
    'vue/no-unused-components': 0,
    'vue/multiline-html-element-content-newline': 0,
    'vue/no-use-v-if-with-v-for': 0,
    'vue/html-closing-bracket-newline': 0,
    'vue/no-parsing-error': 0,
    'no-tabs': 0,
    'quotes': [
      2,
      'single',
      {
        'avoidEscape': true,
        'allowTemplateLiterals': true
      }
    ],
    'semi': [
      2,
      'never',
      {
        'beforeStatementContinuationChars': 'never'
      }
    ],
    'no-delete-var': 2,
    'prefer-const': [
      2,
      {
        'ignoreReadBeforeAssign': false
      }
    ],
    'template-curly-spacing': 'off',
    'indent': 'off',
    "space-before-function-paren": 0,
    'no-multi-spaces': 2, //不能用多余的空格
  },
  parserOptions: {
    parser: 'babel-eslint'
  },
  overrides: [
    {
      files: [
        '**/__tests__/*.{j,t}s?(x)',
        '**/tests/unit/**/*.spec.{j,t}s?(x)'
      ],
      env: {
        jest: true
      }
    }
  ]
}
LA22A07_Front/.gitignore
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,3 @@
node_modules/
dist/
.idea/
LA22A07_Front/.prettierrc
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,5 @@
{
  "printWidth": 120,
  "semi": false,
  "singleQuote": true
}
LA22A07_Front/.travis.yml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
language: node_js
node_js:
  - 10.15.0
cache: yarn
script:
  - yarn
  - yarn run lint --no-fix && yarn run build
LA22A07_Front/Dockerfile
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,3 @@
FROM nginx
COPY . /usr/share/nginx/html
LA22A07_Front/LICENSE
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2018 Anan Yang
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
LA22A07_Front/WMS»ù×¼°æÇ°¶ËÎĵµ.docx
Binary files differ
LA22A07_Front/babel.config.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,28 @@
const IS_PROD = ['production', 'prod'].includes(process.env.NODE_ENV)
const plugins = []
if (IS_PROD) {
  plugins.push('transform-remove-console')
}
// lazy load ant-design-vue
// if your use import on Demand, Use this code
plugins.push(['import', {
  'libraryName': 'ant-design-vue',
  'libraryDirectory': 'es',
  'style': true // `style: true` ä¼šåŠ è½½ less æ–‡ä»¶
}])
module.exports = {
  presets: [
    [
      '@babel/preset-env',
      {
        'useBuiltIns': 'entry',
        'corejs': 3
      }
    ],
    '@vue/cli-plugin-babel/preset'
  ],
  plugins
}
LA22A07_Front/config/plugin.config.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,46 @@
const ThemeColorReplacer = require('webpack-theme-color-replacer')
const generate = require('@ant-design/colors/lib/generate').default
const getAntdSerials = (color) => {
  // æ·¡åŒ–(即less的tint)
  const lightens = new Array(9).fill().map((t, i) => {
    return ThemeColorReplacer.varyColor.lighten(color, i / 10)
  })
  const colorPalettes = generate(color)
  const rgb = ThemeColorReplacer.varyColor.toNum3(color.replace('#', '')).join(',')
  return lightens.concat(colorPalettes).concat(rgb)
}
const themePluginOption = {
  fileName: 'css/theme-colors-[contenthash:8].css',
  matchColors: getAntdSerials('#FA541C'), // ä¸»è‰²ç³»åˆ—
  // æ”¹å˜æ ·å¼é€‰æ‹©å™¨ï¼Œè§£å†³æ ·å¼è¦†ç›–问题
  changeSelector (selector) {
    switch (selector) {
      case '.ant-calendar-today .ant-calendar-date':
        return ':not(.ant-calendar-selected-date):not(.ant-calendar-selected-day)' + selector
      case '.ant-btn:focus,.ant-btn:hover':
        return '.ant-btn:focus:not(.ant-btn-primary):not(.ant-btn-danger),.ant-btn:hover:not(.ant-btn-primary):not(.ant-btn-danger)'
      case '.ant-btn.active,.ant-btn:active':
        return '.ant-btn.active:not(.ant-btn-primary):not(.ant-btn-danger),.ant-btn:active:not(.ant-btn-primary):not(.ant-btn-danger)'
      case '.ant-steps-item-process .ant-steps-item-icon > .ant-steps-icon':
      case '.ant-steps-item-process .ant-steps-item-icon>.ant-steps-icon':
        return ':not(.ant-steps-item-process)' + selector
      case '.ant-menu-horizontal>.ant-menu-item-active,.ant-menu-horizontal>.ant-menu-item-open,.ant-menu-horizontal>.ant-menu-item-selected,.ant-menu-horizontal>.ant-menu-item:hover,.ant-menu-horizontal>.ant-menu-submenu-active,.ant-menu-horizontal>.ant-menu-submenu-open,.ant-menu-horizontal>.ant-menu-submenu-selected,.ant-menu-horizontal>.ant-menu-submenu:hover':
      case '.ant-menu-horizontal > .ant-menu-item-active,.ant-menu-horizontal > .ant-menu-item-open,.ant-menu-horizontal > .ant-menu-item-selected,.ant-menu-horizontal > .ant-menu-item:hover,.ant-menu-horizontal > .ant-menu-submenu-active,.ant-menu-horizontal > .ant-menu-submenu-open,.ant-menu-horizontal > .ant-menu-submenu-selected,.ant-menu-horizontal > .ant-menu-submenu:hover':
        return '.ant-menu-horizontal > .ant-menu-item-active,.ant-menu-horizontal > .ant-menu-item-open,.ant-menu-horizontal > .ant-menu-item-selected,.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item:hover,.ant-menu-horizontal > .ant-menu-submenu-active,.ant-menu-horizontal > .ant-menu-submenu-open,.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu-selected,.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu:hover'
      case '.ant-menu-horizontal > .ant-menu-item-selected > a':
      case '.ant-menu-horizontal>.ant-menu-item-selected>a':
        return '.ant-menu-horizontal:not(ant-menu-light):not(.ant-menu-dark) > .ant-menu-item-selected > a'
      case '.ant-menu-horizontal > .ant-menu-item > a:hover':
      case '.ant-menu-horizontal>.ant-menu-item>a:hover':
        return '.ant-menu-horizontal:not(ant-menu-light):not(.ant-menu-dark) > .ant-menu-item > a:hover'
      default :
        return selector
    }
  }
}
const createThemeColorReplacerPlugin = () => new ThemeColorReplacer(themePluginOption)
module.exports = createThemeColorReplacerPlugin
LA22A07_Front/docker/docker-compose.yml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
version: '3.4'
services:
  nginx:
    build:
      context: ../
      dockerfile: ./docker/nginx/Dockerfile
    image: admin_net_web:1.2
    ports:
      - 81:80
    restart: "always"
    volumes:
      - node_modules:/build/node_modules:rw
    # network_mode: host #宿主网络,与宿主机共享网络,安全性不佳,本地开发使用,淦,不支持windows,仅支持Linux
volumes:
  node_modules:
LA22A07_Front/docker/nginx/Dockerfile
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,32 @@
# build
FROM node:latest AS builder
# åˆ‡æ¢ç¼–译目录
WORKDIR /build
COPY ./ ./
# ç¼–译项目 æµ‹è¯•
RUN yarn config set registry https://registry.npm.taobao.org/ \
  && yarn install \
  && yarn run build:development
# ç¼–译项目 æ­£å¼
#RUN yarn config set registry https://registry.npm.taobao.org/ \
#  && yarn install \
#  && yarn run build
# web
FROM nginx:alpine
# æ—¶åŒº
ENV TZ=Asia/Shanghai
RUN echo "http://mirrors.aliyun.com/alpine/v3.4/main/" > /etc/apk/repositories \
  && apk --no-cache add tzdata zeromq \
  && ln -snf /usr/share/zoneinfo/$TZ /etc/localtime \
  && echo '$TZ' > /etc/timezone
COPY ./docker/nginx/logs /var/log/nginx
COPY ./docker/nginx/vhost /etc/nginx/conf.d/
COPY ./docker/nginx/nginx.conf /etc/nginx/nginx.conf
# æ‹·è´é¡¹ç›®
COPY --from=builder /build/dist/ /var/www/html
LA22A07_Front/docker/nginx/nginx.conf
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
user nginx;
worker_processes  1;
pid /var/run/nginx.pid;
error_log /var/log/nginx/nginx.error.log warn;
events {
    worker_connections  1024;
}
http {
    include /etc/nginx/mime.types;
    default_type application/octet-stream;
    log_format main '$remote_addr - $remote_user [$time_local] "$request" '
                     '$status $body_bytes_sent "$http_referer" '
                     '"$http_user_agent" "$http_x_forwarded_for"';
    access_log /dev/null;
    #access_log  /var/log/nginx/nginx.access.log  main;
    sendfile on;
    #tcp_nopush on;
    keepalive_timeout 65;
    #gzip on;
    include /etc/nginx/conf.d/*.conf;
}
LA22A07_Front/docker/nginx/vhost/default.conf
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,30 @@
server {
    listen       80;
    server_name  localhost;
    root   /var/www/html;
    index  index.php index.html index.htm;
    access_log /dev/null;
    error_log  /var/log/nginx/default.error.log  warn;
    # redirect server error pages to the static page /50x.html
    #
    #error_page   500 502 503 504  /50x.html;
  location / {
    root /var/www/html;
    add_header Cache-Control 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0';
    try_files $uri $uri/ /index.html;
  }
  location /api {
    #如果服务器要获取客户端真实IP,可以用下三句设置主机头和客户端真实地址
    proxy_set_header Host $http_host;
    proxy_set_header  X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    rewrite ^/api/(.*)$ /$1 break;  #重写
    proxy_pass http://host.docker.internal:5566; # docker内访问宿主机(win或mac)----注意:宿主机需在hosts文件中增加一条  host.docker.internal  127.0.0.1
    # proxy_pass http://host.docker.internal:5566; # ç”Ÿäº§çŽ¯å¢ƒæ”¹æˆçœŸå®žåŽç«¯åœ°å€
  }
}
LA22A07_Front/jest.config.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
module.exports = {
  moduleFileExtensions: [
    'js',
    'jsx',
    'json',
    'vue'
  ],
  transform: {
    '^.+\\.vue$': 'vue-jest',
    '.+\\.(css|styl|less|sass|scss|svg|png|jpg|ttf|woff|woff2)$': 'jest-transform-stub',
    '^.+\\.jsx?$': 'babel-jest'
  },
  moduleNameMapper: {
    '^@/(.*)$': '<rootDir>/src/$1'
  },
  snapshotSerializers: [
    'jest-serializer-vue'
  ],
  testMatch: [
    '**/tests/unit/**/*.spec.(js|jsx|ts|tsx)|**/__tests__/*.(js|jsx|ts|tsx)'
  ],
  testURL: 'http://localhost/'
}
LA22A07_Front/jsconfig.json
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,11 @@
{
  "compilerOptions": {
    "target": "es6",
    "baseUrl": ".",
    "paths": {
      "@/*": ["src/*"]
    }
  },
  "exclude": ["node_modules", "dist"],
  "include": ["src/**/*"]
}
LA22A07_Front/package-lock.json
¶Ô±ÈÐÂÎļþ
ÎļþÌ«´ó
LA22A07_Front/package.json
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,100 @@
{
  "name": "vue-antd-pro",
  "version": "3.0.0",
  "private": true,
  "scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "servenew": "set NODE_OPTIONS=--openssl-legacy-provider & vue-cli-service serve",
    "buildnew": "set NODE_OPTIONS=--openssl-legacy-provider & vue-cli-service build",
    "test:unit": "vue-cli-service test:unit",
    "build:preview": "vue-cli-service build --mode preview",
    "postinstall": "opencollective-postinstall"
  },
  "dependencies": {
    "@antv/data-set": "^0.10.2",
    "@jiaminghi/data-view": "^2.10.0",
    "@microsoft/signalr": "^5.0.5",
    "ant-design-vue": "1.7.8",
    "axios": "^0.19.0",
    "babel-polyfill": "^6.26.0",
    "clipboard": "^2.0.6",
    "compression-webpack-plugin": "5.0.1",
    "core-js": "^3.1.2",
    "crypto-js": "^4.0.0",
    "default-passive-events": "^1.0.10",
    "echarts": "^5.4.0",
    "enquire.js": "^2.1.6",
    "font-awesome": "^4.7.0",
    "jquery": "^3.5.1",
    "jsbarcode": "^3.11.3",
    "jsplumb": "^2.15.6",
    "k-form-design": "^3.8.11",
    "leaflet": "^1.7.1",
    "leaflet.pm": "^2.2.0",
    "linq": "^3.2.3",
    "lodash.clonedeep": "^4.5.0",
    "lodash.get": "^4.4.2",
    "lodash.pick": "^4.4.0",
    "md5": "^2.2.1",
    "mockjs2": "1.0.8",
    "moment": "^2.24.0",
    "nprogress": "^0.2.0",
    "print-js": "^1.0.63",
    "raphael": "^2.3.0",
    "screenfull": "^5.1.0",
    "viser-vue": "^2.4.6",
    "vue": "^2.6.10",
    "vue-clipboard2": "^0.2.1",
    "vue-codemirror-lite": "^1.0.4",
    "vue-cropper": "0.4.9",
    "vue-ls": "^3.2.1",
    "vue-quill-editor": "^3.0.6",
    "vue-router": "^3.1.2",
    "vue-svg-component-runtime": "^1.0.1",
    "vue2-leaflet": "^2.7.0",
    "vuedraggable": "^2.23.2",
    "vuex": "^3.1.1",
    "wangeditor": "^3.1.1"
  },
  "devDependencies": {
    "@ant-design/colors": "^3.2.1",
    "@vue/cli-plugin-babel": "^4.0.4",
    "@vue/cli-plugin-eslint": "^4.0.4",
    "@vue/cli-plugin-router": "^4.0.4",
    "@vue/cli-plugin-unit-jest": "^4.0.4",
    "@vue/cli-plugin-vuex": "^4.0.4",
    "@vue/cli-service": "^4.0.4",
    "@vue/eslint-config-prettier": "^5.0.0",
    "@vue/eslint-config-standard": "^4.0.0",
    "@vue/test-utils": "^1.0.0-beta.29",
    "babel-eslint": "^10.0.1",
    "babel-plugin-import": "^1.13.0",
    "babel-plugin-transform-remove-console": "^6.9.4",
    "eslint": "^6.8.0",
    "eslint-plugin-html": "^5.0.0",
    "eslint-plugin-prettier": "^3.1.0",
    "eslint-plugin-vue": "^5.2.3",
    "less": "^3.0.4",
    "less-loader": "^5.0.0",
    "opencollective": "^1.0.3",
    "opencollective-postinstall": "^2.0.2",
    "prettier": "^1.18.2",
    "vue-svg-icon-loader": "^2.1.1",
    "vue-template-compiler": "^2.6.10",
    "webpack": "^4.46.0",
    "webpack-theme-color-replacer": "1.3.18"
  },
  "collective": {
    "type": "opencollective",
    "url": "https://opencollective.com/ant-design-pro-vue"
  },
  "main": ".eslintrc.js",
  "directories": {
    "test": "tests"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "description": ""
}
LA22A07_Front/postcss.config.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,5 @@
module.exports = {
  plugins: {
    autoprefixer: {}
  }
}
LA22A07_Front/public/avatar2.jpg
LA22A07_Front/public/index.html
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,34 @@
<!DOCTYPE html>
<html lang="zh-cmn-Hans">
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width,initial-scale=1.0">
  <link rel="icon" href="<%= BASE_URL %>favicon.ico">
  <title>青汽WMS</title>
  <style>.first-loading-wrp{display:flex;justify-content:center;align-items:center;flex-direction:column;min-height:420px;height:100%}.first-loading-wrp>h1{font-size:128px}.first-loading-wrp .loading-wrp{padding:98px;display:flex;justify-content:center;align-items:center}.dot{animation:antRotate 1.2s infinite linear;transform:rotate(45deg);position:relative;display:inline-block;font-size:32px;width:32px;height:32px;box-sizing:border-box}.dot i{width:14px;height:14px;position:absolute;display:block;background-color:#1890ff;border-radius:100%;transform:scale(.75);transform-origin:50% 50%;opacity:.3;animation:antSpinMove 1s infinite linear alternate}.dot i:nth-child(1){top:0;left:0}.dot i:nth-child(2){top:0;right:0;-webkit-animation-delay:.4s;animation-delay:.4s}.dot i:nth-child(3){right:0;bottom:0;-webkit-animation-delay:.8s;animation-delay:.8s}.dot i:nth-child(4){bottom:0;left:0;-webkit-animation-delay:1.2s;animation-delay:1.2s}@keyframes antRotate{to{-webkit-transform:rotate(405deg);transform:rotate(405deg)}}@-webkit-keyframes antRotate{to{-webkit-transform:rotate(405deg);transform:rotate(405deg)}}@keyframes antSpinMove{to{opacity:1}}@-webkit-keyframes antSpinMove{to{opacity:1}}</style>
  <!-- require cdn assets css -->
  <% for (var i in htmlWebpackPlugin.options.cdn && htmlWebpackPlugin.options.cdn.css) { %>
  <link rel="stylesheet" href="<%= htmlWebpackPlugin.options.cdn.css[i] %>" />
  <% } %>
</head>
<body>
<noscript>
  <strong>We're sorry but vue-antd-pro doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id="app">
  <div class="first-loading-wrp">
    <!-- <h1>Admin.NET</h1> -->
    <div class="loading-wrp">
      <span class="dot dot-spin"><i></i><i></i><i></i><i></i></span>
    </div>
    <div style="display: flex; justify-content: center; align-items: center;">青汽WMS</div>
  </div>
</div>
<!-- require cdn assets js -->
<% for (var i in htmlWebpackPlugin.options.cdn && htmlWebpackPlugin.options.cdn.js) { %>
<script src="<%= htmlWebpackPlugin.options.cdn.js[i] %>"></script>
<% } %>
<!-- built files will be auto injected -->
</body>
</html>
LA22A07_Front/public/loading/loading.css
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1 @@
#preloadingAnimation{position:fixed;left:0;top:0;height:100%;width:100%;background:#ffffff;user-select:none;z-index: 9999;overflow: hidden}.lds-roller{display:inline-block;position:relative;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;}.lds-roller div{animation:lds-roller 1.2s cubic-bezier(0.5,0,0.5,1) infinite;transform-origin:32px 32px;}.lds-roller div:after{content:" ";display:block;position:absolute;width:6px;height:6px;border-radius:50%;background:#13c2c2;margin:-3px 0 0 -3px;}.lds-roller div:nth-child(1){animation-delay:-0.036s;}.lds-roller div:nth-child(1):after{top:50px;left:50px;}.lds-roller div:nth-child(2){animation-delay:-0.072s;}.lds-roller div:nth-child(2):after{top:54px;left:45px;}.lds-roller div:nth-child(3){animation-delay:-0.108s;}.lds-roller div:nth-child(3):after{top:57px;left:39px;}.lds-roller div:nth-child(4){animation-delay:-0.144s;}.lds-roller div:nth-child(4):after{top:58px;left:32px;}.lds-roller div:nth-child(5){animation-delay:-0.18s;}.lds-roller div:nth-child(5):after{top:57px;left:25px;}.lds-roller div:nth-child(6){animation-delay:-0.216s;}.lds-roller div:nth-child(6):after{top:54px;left:19px;}.lds-roller div:nth-child(7){animation-delay:-0.252s;}.lds-roller div:nth-child(7):after{top:50px;left:14px;}.lds-roller div:nth-child(8){animation-delay:-0.288s;}.lds-roller div:nth-child(8):after{top:45px;left:10px;}#preloadingAnimation .load-tips{color: #13c2c2;font-size:2rem;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin-top:80px;text-align:center;width:400px;height:64px;}  @keyframes lds-roller{0%{transform:rotate(0deg);} 100%{transform:rotate(360deg);}}
LA22A07_Front/public/loading/loading.html
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1 @@
<div id="preloadingAnimation"><div class=lds-roller><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div></div><div class=load-tips>Loading</div></div>
LA22A07_Front/public/loading/option2/html_code_segment.html
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,5 @@
<div class="preloading-animate">
  <div class="preloading-wrapper">
    <svg class="preloading-balls" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid"><circle cx="67.802" cy="59.907" r="6" fill="#51CACC"><animate attributeName="cx" values="75;57.72542485937369" keyTimes="0;1" dur="1s" repeatCount="indefinite"/><animate attributeName="cy" values="50;73.77641290737884" keyTimes="0;1" dur="1s" repeatCount="indefinite"/><animate attributeName="fill" values="#51CACC;#9DF871" keyTimes="0;1" dur="1s" repeatCount="indefinite"/></circle><circle cx="46.079" cy="69.992" r="6" fill="#9DF871"><animate attributeName="cx" values="57.72542485937369;29.774575140626318" keyTimes="0;1" dur="1s" repeatCount="indefinite"/><animate attributeName="cy" values="73.77641290737884;64.69463130731182" keyTimes="0;1" dur="1s" repeatCount="indefinite"/><animate attributeName="fill" values="#9DF871;#E0FF77" keyTimes="0;1" dur="1s" repeatCount="indefinite"/></circle><circle cx="29.775" cy="52.449" r="6" fill="#E0FF77"><animate attributeName="cx" values="29.774575140626318;29.774575140626315" keyTimes="0;1" dur="1s" repeatCount="indefinite"/><animate attributeName="cy" values="64.69463130731182;35.30536869268818" keyTimes="0;1" dur="1s" repeatCount="indefinite"/><animate attributeName="fill" values="#E0FF77;#DE9DD6" keyTimes="0;1" dur="1s" repeatCount="indefinite"/></circle><circle cx="41.421" cy="31.521" r="6" fill="#DE9DD6"><animate attributeName="cx" values="29.774575140626315;57.72542485937368" keyTimes="0;1" dur="1s" repeatCount="indefinite"/><animate attributeName="cy" values="35.30536869268818;26.22358709262116" keyTimes="0;1" dur="1s" repeatCount="indefinite"/><animate attributeName="fill" values="#DE9DD6;#FF708E" keyTimes="0;1" dur="1s" repeatCount="indefinite"/></circle><circle cx="64.923" cy="36.13" r="6" fill="#FF708E"><animate attributeName="cx" values="57.72542485937368;75" keyTimes="0;1" dur="1s" repeatCount="indefinite"/><animate attributeName="cy" values="26.22358709262116;49.99999999999999" keyTimes="0;1" dur="1s" repeatCount="indefinite"/><animate attributeName="fill" values="#FF708E;#51CACC" keyTimes="0;1" dur="1s" repeatCount="indefinite"/></circle></svg>
  </div>
</div>
LA22A07_Front/public/loading/option2/loading.css
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1 @@
.preloading-animate{background:#ffffff;width:100%;height:100%;position:fixed;left:0;top:0;z-index:299;}.preloading-animate .preloading-wrapper{position:absolute;width:5rem;height:5rem;left:50%;top:50%;transform:translate(-50%,-50%);}.preloading-animate .preloading-wrapper .preloading-balls{font-size:5rem;}
LA22A07_Front/public/loading/option2/loading.svg
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1 @@
<svg class="preloading-balls" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid"><circle cx="67.802" cy="59.907" r="6" fill="#51CACC"><animate attributeName="cx" values="75;57.72542485937369" keyTimes="0;1" dur="1s" repeatCount="indefinite"/><animate attributeName="cy" values="50;73.77641290737884" keyTimes="0;1" dur="1s" repeatCount="indefinite"/><animate attributeName="fill" values="#51CACC;#9DF871" keyTimes="0;1" dur="1s" repeatCount="indefinite"/></circle><circle cx="46.079" cy="69.992" r="6" fill="#9DF871"><animate attributeName="cx" values="57.72542485937369;29.774575140626318" keyTimes="0;1" dur="1s" repeatCount="indefinite"/><animate attributeName="cy" values="73.77641290737884;64.69463130731182" keyTimes="0;1" dur="1s" repeatCount="indefinite"/><animate attributeName="fill" values="#9DF871;#E0FF77" keyTimes="0;1" dur="1s" repeatCount="indefinite"/></circle><circle cx="29.775" cy="52.449" r="6" fill="#E0FF77"><animate attributeName="cx" values="29.774575140626318;29.774575140626315" keyTimes="0;1" dur="1s" repeatCount="indefinite"/><animate attributeName="cy" values="64.69463130731182;35.30536869268818" keyTimes="0;1" dur="1s" repeatCount="indefinite"/><animate attributeName="fill" values="#E0FF77;#DE9DD6" keyTimes="0;1" dur="1s" repeatCount="indefinite"/></circle><circle cx="41.421" cy="31.521" r="6" fill="#DE9DD6"><animate attributeName="cx" values="29.774575140626315;57.72542485937368" keyTimes="0;1" dur="1s" repeatCount="indefinite"/><animate attributeName="cy" values="35.30536869268818;26.22358709262116" keyTimes="0;1" dur="1s" repeatCount="indefinite"/><animate attributeName="fill" values="#DE9DD6;#FF708E" keyTimes="0;1" dur="1s" repeatCount="indefinite"/></circle><circle cx="64.923" cy="36.13" r="6" fill="#FF708E"><animate attributeName="cx" values="57.72542485937368;75" keyTimes="0;1" dur="1s" repeatCount="indefinite"/><animate attributeName="cy" values="26.22358709262116;49.99999999999999" keyTimes="0;1" dur="1s" repeatCount="indefinite"/><animate attributeName="fill" values="#FF708E;#51CACC" keyTimes="0;1" dur="1s" repeatCount="indefinite"/></circle></svg>
LA22A07_Front/public/logo.png
LA22A07_Front/src/App.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,63 @@
<template>
  <a-config-provider :locale="locale">
    <div id="app" class="app app1">
      <router-view class="scrollbar"/>
    </div>
  </a-config-provider>
</template>
<script>
import zhCN from 'ant-design-vue/lib/locale-provider/zh_CN'
import { AppDeviceEnquire } from '@/utils/mixin'
export default {
  mixins: [AppDeviceEnquire],
  data () {
    return {
      locale: zhCN
    }
  },
  mounted () {
  }
}
</script>
<style lang="less">
  .app {
    overflow: auto;
    border  : none;
  }
  .scrollbar {
    margin: 0 auto;
  }
  .app1::-webkit-scrollbar {
    /*滚动条整体样式*/
    width : 8px;  /*高宽分别对应横竖滚动条的尺寸*/
  }
  .app1::-webkit-scrollbar-thumb {
    /*滚动条里面小方块*/
    border-radius: 6px;
    background   : #aaa;
  }
  .app1::-webkit-scrollbar-track {
    /*滚动条里面轨道*/
    border-radius: 8px;
    background   : #FFFFFF;
  }
  .weiben-private-drawer {
    .ant-drawer-wrapper-body{
      display:flex;
      flex-direction: column;
      .ant-drawer-header{
        flex-shrink: 0;
      }
      .ant-drawer-body{
        padding:0;
        flex-grow: 1;
      }
    }
    .ant-spin-nested-loading,.ant-spin-container{
      height:100%;
    }
  }
</style>
LA22A07_Front/src/api/modular/gen/codeGenerateManage.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,148 @@
/**
 * ä»£ç ç”Ÿæˆ
 *
 * @author yubaoshan
 * @date 2020/12/23 15:00
 */
import { axios } from '@/utils/request'
/**
 * æŸ¥è¯¢åˆ—表
 *
 * @author yubaoshan
 * @date 2020/12/23 15:00
 */
export function codeGeneratePage (parameter) {
  return axios({
    url: '/codeGenerate/page',
    method: 'get',
    params: parameter
  })
}
/**
 * å¢žåŠ 
 *
 * @author yubaoshan
 * @date 2020/12/23 15:00
 */
export function codeGenerateAdd (parameter) {
  return axios({
    url: '/codeGenerate/add',
    method: 'post',
    data: parameter
  })
}
/**
 * ç¼–辑
 *
 * @author yubaoshan
 * @date 2020/12/23 15:00
 */
export function codeGenerateEdit (parameter) {
  return axios({
    url: '/codeGenerate/edit',
    method: 'post',
    data: parameter
  })
}
/**
 * åˆ é™¤
 *
 * @author yubaoshan
 * @date 2020/12/23 15:00
 */
export function codeGenerateDelete (parameter) {
  return axios({
    url: '/codeGenerate/delete',
    method: 'post',
    data: parameter
  })
}
/**
 * æŸ¥è¯¢å½“前数据库用户下的所有库
 *
 * @author fuqiang
 * @date 2021/10/13 15:00
 */
 export function codeGenerateDatabaseList (parameter) {
  return axios({
    url: '/codeGenerate/DatabaseList',
    method: 'get',
    params: parameter
  })
}
/**
 * æŸ¥è¯¢å½“前数据库用户下的所有表
 *
 * @author yubaoshan
 * @date 2020/12/23 15:00
 */
export function codeGenerateInformationList (parameter) {
  return axios({
    url: '/codeGenerate/InformationList',
    method: 'get',
    params: parameter
  })
}
/**
 * æ ¹æ®åº“名表名获取列
 *
 * @author fuqiang 20211014
 * @param {*} databaseName åº“名
 * @param {*} tableName è¡¨å
 * @return {*}
 */
export function codeGenerateColumnList (databaseName,tableName) {
  return axios({
    url: `/codeGenerate/ColumnList/${databaseName}/${tableName}`,
    method: 'get'
  })
}
/**
 * æœ¬åœ°ç”Ÿæˆ
 *
 * @author yubaoshan
 * @date 2020/12/23 15:00
 */
export function codeGenerateRunLocal (parameter) {
  return axios({
    url: '/codeGenerate/runLocal',
    method: 'post',
    data: parameter
  })
}
/**
 * åŽ‹ç¼©åŒ…æ–¹å¼ä¸‹è½½
 *
 * @author yubaoshan
 * @date 2020/12/23 15:00
 */
export function codeGenerateRunDown (parameter) {
  return axios({
    url: '/codeGenerate/runDown',
    method: 'get',
    params: parameter,
    responseType: 'blob'
  })
}
/**
 * åˆ·æ–°é…ç½®è¡¨
 *
 * @author lanhuxing
 * @date 2022/05/08 15:00
 */
export function codeGenerateRefresh (id) {
  return axios({
    url: '/codeGenerate/refresh/' + id,
    method: 'get'
  })
}
LA22A07_Front/src/api/modular/gen/lowCodeManage.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,105 @@
/**
 * ä½Žä»£ç ç®¡ç†
 *
 * @author lanhuxing
 * @date 2022/05/02 17:30
 */
import { axios } from '@/utils/request'
/**
 * æŸ¥è¯¢åˆ—表
 *
 * @author lanhuxing
 * @date 2022/05/02 17:30
 */
export function lowCodePage (parameter) {
  return axios({
    url: '/lowcode/page',
    method: 'get',
    params: parameter
  })
}
/**
 * å¢žåŠ 
 *
 * @author lanhuxing
 * @date 2022/05/02 17:30
 */
export function lowCodeAdd (parameter) {
  return axios({
    url: '/lowcode/add',
    method: 'post',
    data: parameter
  })
}
/**
 * ç¼–辑
 *
 * @author lanhuxing
 * @date 2022/05/02 17:30
 */
export function lowCodeEdit (parameter) {
  return axios({
    url: '/lowcode/edit',
    method: 'post',
    data: parameter
  })
}
/**
 * åˆ é™¤
 *
 * @author lanhuxing
 * @date 2022/05/02 17:30
 */
export function lowCodeDelete (parameter) {
  return axios({
    url: '/lowcode/del',
    method: 'post',
    data: parameter
  })
}
/**
 * ç»„件转换数据库字段
 *
 * @author lanhuxing
 * @date 2022/05/02 17:30
 */
export function lowCodeContrast (parameter) {
  return axios({
    url: '/lowcode/contrast',
    method: 'post',
    data: parameter
  })
}
/**
 * èŽ·å–ç»„ä»¶è¯¦æƒ…
 *
 * @author lanhuxing
 * @date 2022/05/02 17:30
 */
export function lowCodeInfo (id) {
  return axios({
    url: '/lowcode/info/' + id,
    method: 'get'
  })
}
/**
 * ç”ŸæˆORM模型
 *
 * @author lanhuxing
 * @date 2022/05/02 17:30
 */
export function lowCodeRunLocal (id) {
  return axios({
    url: '/lowcode/runLocal/' + id,
    method: 'get'
  })
}
LA22A07_Front/src/api/modular/gen/sysCodeGenerateConfigManage.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,29 @@
import { axios } from '@/utils/request'
/**
 * ä»£ç ç”Ÿæˆè¯¦ç»†é…ç½®åˆ—表
 *
 * @author yubaoshan
 * @date 2021-02-06 20:19:49
 */
export function sysCodeGenerateConfigList (parameter) {
  return axios({
    url: '/sysCodeGenerateConfig/list',
    method: 'get',
    params: parameter
  })
}
/**
 * ç¼–辑代码生成详细配置
 *
 * @author yubaoshan
 * @date 2021-02-06 20:19:49
 */
export function sysCodeGenerateConfigEdit (parameter) {
  return axios({
    url: '/sysCodeGenerateConfig/edit',
    method: 'post',
    data: parameter
  })
}
LA22A07_Front/src/api/modular/main/BindEntranceManage.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,117 @@
import { axios } from '@/utils/request'
/**
 * æŸ¥è¯¢ç»„盘入库
 *
 * @author liduanping
 */
export function BindEntrancePage (parameter) {
  return axios({
    url: '/BindEntrance/page',
    method: 'get',
    params: parameter
  })
}
/**
 * ç»„盘入库列表
 *
 * @author liduanping
 */
export function BindEntranceList (parameter) {
  return axios({
    url: '/BindEntrance/list',
    method: 'get',
    params: parameter
  })
}
/**
 * æ‰‹åŠ¨å…¥åº“
 *
 * @author yhh
 */
export function BindEntranceManualWare (parameter) {
  return axios({
    url: '/BindEntrance/ManualWare',
    method: 'post',
    data: parameter
  })
}
/**
 * è‡ªåŠ¨å…¥åº“
 *
 * @author yhh
 */
export function BindEntranceAutoWare (parameter) {
  return axios({
    url: '/BindEntrance/AutoWare',
    method: 'post',
    data: parameter
  })
}
/**
 * èŽ·å–æ‰˜ç›˜ä¿¡æ¯
 *
 * @author yhh
 */
export function BindEntranceGetContainer (parameter) {
  return axios({
    url: '/BindEntrance/GetContainer',
    method: 'get',
    params: parameter
  })
}
/**
 * èŽ·å–ç‰©æ–™ä¿¡æ¯
 *
 * @author yhh
 */
export function BindEntranceGetMaterial (parameter) {
  return axios({
    url: '/BindEntrance/GetMaterial',
    method: 'get',
    params: parameter
  })
}
/**
 * ç»„盘接口
 *
 * @author yhh
 */
export function BindAction (parameter) {
  return axios({
    url: '/BindEntrance/BindEntrance',
    method: 'post',
    data: parameter
  })
}
/**
 * ç§»åº“
 *
 * @author yhh
 */
export function BindEntranceTransfer (parameter) {
  return axios({
    url: '/BindEntrance/StockTransfer',
    method: 'post',
    data: parameter
  })
}
/**
 * èŽ·å–åº“åŒºã€å…¥åº“å£ä¸‹æ‹‰åˆ—è¡¨
 *
 * @author yhh
 */
export function BindEntranceGetSelects () {
  return axios({
    url: '/BindEntrance/GetEntrance',
    method: 'get'
  })
}
LA22A07_Front/src/api/modular/main/ExWarehouseManage.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,81 @@
import { axios } from '@/utils/request'
/**
 * æŸ¥è¯¢åº“存表
 *
 * @author liduanping
 */
export function WmsMaterialStockPage (parameter) {
  return axios({
    url: '/iexwarehouse/page',
    method: 'get',
    params: parameter
  })
}
/**
 * æ‰‹åŠ¨å‡ºåº“
 *
 * @author yhh
 */
export function IexwarehouseManual (parameter) {
  return axios({
    url: '/iexwarehouse/ManualWare',
    method: 'post',
    data: parameter
  })
}
/**
 * è‡ªåŠ¨å‡ºåº“
 *
 * @author yhh
 */
export function IexwarehouseAuto (parameter) {
  return axios({
    url: '/iexwarehouse/AutoWare',
    method: 'post',
    data: parameter
  })
}
/**
 * æŸ¥è¯¢æ‰‹åŠ¨ç§»åº“ç©ºåº“ä½
 *
 * @author liduanping
 */
export function GetMoveLocation (parameter) {
  return axios({
    url: '/iexwarehouse/GetRemoveLocation',
    method: 'get',
    params: parameter
  })
}
/**
 * ç§»åº“
 *
 * @author yhh
 */
export function MovewarehouseManual (parameter) {
  return axios({
    url: '/iexwarehouse/MoveWare',
    method: 'post',
    data: parameter
  })
}
/**
 * å…¥åº“
 *
 * @author yhh
 */
export function InwarehouseManual (parameter) {
  return axios({
    url: '/iexwarehouse/AutoInWare',
    method: 'post',
    data: parameter
  })
}
LA22A07_Front/src/api/modular/main/LocationViewManage.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,65 @@
import { axios } from '@/utils/request'
/**
 * èŽ·å–åº“åŒºåˆ—è¡¨
 *
 * @author yhh
 */
export function GetArea () {
  return axios({
    url: '/LocationView/GetArea',
    method: 'get'
  })
}
/**
 * æ ¹æ®åº“区获取排列表
 *
 * @author yhh
 */
export function GetPalceRowno (parameter) {
  return axios({
    url: '/LocationView/GetPalceRowno',
    method: 'get',
    params: parameter
  })
}
/**
 * èŽ·å–ä¸€ä¸ªæŽ’ä¸­çš„åº“ä½åˆ—è¡¨
 *
 * @author yhh
 */
export function GetPalceList (parameter) {
  return axios({
    url: '/LocationView/GetPalceList',
    method: 'get',
    params: parameter
  })
}
/**
 * èŽ·å–åº“åŒºè¯¦æƒ…
 *
 * @author yhh
 */
export function GetLocationDetail (parameter) {
  return axios({
    url: '/LocationView/GetMaterialDetail',
    method: 'get',
    params: parameter
  })
}
/**
 * æ›´æ–°åº“位锁定状态
 *
 * @author yhh
 */
export function UpdateLock (parameter) {
  return axios({
    url: '/LocationView/UpdatePalceIslock',
    method: 'get',
    params: parameter
  })
}
LA22A07_Front/src/api/modular/main/README.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1 @@
/** æ‚¨çš„业务接口文件全写在此文件夹下面,升级底座直接迁移代码即可 **/
LA22A07_Front/src/api/modular/main/SysTenantManage.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,66 @@
import { axios } from '@/utils/request'
/**
 * æŸ¥è¯¢ç§Ÿæˆ·è¡¨
 *
 * @author è“ç‹æ˜Ÿ
 */
export function SysTenantPage (parameter) {
  return axios({
    url: '/SysTenant/page',
    method: 'get',
    params: parameter
  })
}
/**
 * ç§Ÿæˆ·è¡¨åˆ—表
 *
 * @author è“ç‹æ˜Ÿ
 */
export function SysTenantList (parameter) {
  return axios({
    url: '/SysTenant/list',
    method: 'get',
    params: parameter
  })
}
/**
 * æ·»åŠ ç§Ÿæˆ·è¡¨
 *
 * @author è“ç‹æ˜Ÿ
 */
export function SysTenantAdd (parameter) {
  return axios({
    url: '/SysTenant/add',
    method: 'post',
    data: parameter
  })
}
/**
 * ç¼–辑租户表
 *
 * @author è“ç‹æ˜Ÿ
 */
export function SysTenantEdit (parameter) {
  return axios({
    url: '/SysTenant/edit',
    method: 'post',
    data: parameter
  })
}
/**
 * åˆ é™¤ç§Ÿæˆ·è¡¨
 *
 * @author è“ç‹æ˜Ÿ
 */
export function SysTenantDelete (parameter) {
  return axios({
    url: '/SysTenant/delete',
    method: 'post',
    data: parameter
  })
}
LA22A07_Front/src/api/modular/main/View_AccessDetailsManage.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,66 @@
import { axios } from '@/utils/request'
/**
 * æŸ¥è¯¢å‡ºå…¥åº“记录
 *
 * @author lidunanping
 */
export function View_AccessDetailsPage (parameter) {
  return axios({
    url: '/View_AccessDetails/page',
    method: 'get',
    params: parameter
  })
}
/**
 * å‡ºå…¥åº“记录列表
 *
 * @author lidunanping
 */
export function View_AccessDetailsList (parameter) {
  return axios({
    url: '/View_AccessDetails/list',
    method: 'get',
    params: parameter
  })
}
/**
 * æ·»åŠ å‡ºå…¥åº“è®°å½•
 *
 * @author lidunanping
 */
export function View_AccessDetailsAdd (parameter) {
  return axios({
    url: '/View_AccessDetails/add',
    method: 'post',
    data: parameter
  })
}
/**
 * ç¼–辑出入库记录
 *
 * @author lidunanping
 */
export function View_AccessDetailsEdit (parameter) {
  return axios({
    url: '/View_AccessDetails/edit',
    method: 'post',
    data: parameter
  })
}
/**
 * åˆ é™¤å‡ºå…¥åº“记录
 *
 * @author lidunanping
 */
export function View_AccessDetailsDelete (parameter) {
  return axios({
    url: '/View_AccessDetails/delete',
    method: 'post',
    data: parameter
  })
}
LA22A07_Front/src/api/modular/main/WareContainerVsMaterialManage.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,66 @@
import { axios } from '@/utils/request'
/**
 * æŸ¥è¯¢ç»„盘管理
 *
 * @author kejj
 */
export function WareContainerVsMaterialPage (parameter) {
  return axios({
    url: '/WareContainerVsMaterial/page',
    method: 'get',
    params: parameter
  })
}
/**
 * ç»„盘管理列表
 *
 * @author kejj
 */
export function WareContainerVsMaterialList (parameter) {
  return axios({
    url: '/WareContainerVsMaterial/list',
    method: 'get',
    params: parameter
  })
}
/**
 * æ·»åŠ ç»„ç›˜ç®¡ç†
 *
 * @author kejj
 */
export function WareContainerVsMaterialAdd (parameter) {
  return axios({
    url: '/WareContainerVsMaterial/add',
    method: 'post',
    data: parameter
  })
}
/**
 * ç¼–辑组盘管理
 *
 * @author kejj
 */
export function WareContainerVsMaterialEdit (parameter) {
  return axios({
    url: '/WareContainerVsMaterial/edit',
    method: 'post',
    data: parameter
  })
}
/**
 * åˆ é™¤ç»„盘管理
 *
 * @author kejj
 */
export function WareContainerVsMaterialDelete (parameter) {
  return axios({
    url: '/WareContainerVsMaterial/delete',
    method: 'post',
    data: parameter
  })
}
LA22A07_Front/src/api/modular/main/WareDeviceWarningManage.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,66 @@
import { axios } from '@/utils/request'
/**
 * æŸ¥è¯¢è®¾å¤‡æŠ¥è­¦è®°å½•
 *
 * @author kejj
 */
export function WareDeviceWarningPage (parameter) {
  return axios({
    url: '/WareDeviceWarning/page',
    method: 'get',
    params: parameter
  })
}
/**
 * è®¾å¤‡æŠ¥è­¦è®°å½•列表
 *
 * @author kejj
 */
export function WareDeviceWarningList (parameter) {
  return axios({
    url: '/WareDeviceWarning/list',
    method: 'get',
    params: parameter
  })
}
/**
 * æ·»åŠ è®¾å¤‡æŠ¥è­¦è®°å½•
 *
 * @author kejj
 */
export function WareDeviceWarningAdd (parameter) {
  return axios({
    url: '/WareDeviceWarning/add',
    method: 'post',
    data: parameter
  })
}
/**
 * ç¼–辑设备报警记录
 *
 * @author kejj
 */
export function WareDeviceWarningEdit (parameter) {
  return axios({
    url: '/WareDeviceWarning/edit',
    method: 'post',
    data: parameter
  })
}
/**
 * åˆ é™¤è®¾å¤‡æŠ¥è­¦è®°å½•
 *
 * @author kejj
 */
export function WareDeviceWarningDelete (parameter) {
  return axios({
    url: '/WareDeviceWarning/delete',
    method: 'post',
    data: parameter
  })
}
LA22A07_Front/src/api/modular/main/WareFlowRecordManage.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,66 @@
import { axios } from '@/utils/request'
/**
 * æŸ¥è¯¢è®°å½•流水管理
 *
 * @author kejj
 */
export function WareFlowRecordPage (parameter) {
  return axios({
    url: '/WareFlowRecord/page',
    method: 'get',
    params: parameter
  })
}
/**
 * è®°å½•流水管理列表
 *
 * @author kejj
 */
export function WareFlowRecordList (parameter) {
  return axios({
    url: '/WareFlowRecord/list',
    method: 'get',
    params: parameter
  })
}
/**
 * æ·»åŠ è®°å½•æµæ°´ç®¡ç†
 *
 * @author kejj
 */
export function WareFlowRecordAdd (parameter) {
  return axios({
    url: '/WareFlowRecord/add',
    method: 'post',
    data: parameter
  })
}
/**
 * ç¼–辑记录流水管理
 *
 * @author kejj
 */
export function WareFlowRecordEdit (parameter) {
  return axios({
    url: '/WareFlowRecord/edit',
    method: 'post',
    data: parameter
  })
}
/**
 * åˆ é™¤è®°å½•流水管理
 *
 * @author kejj
 */
export function WareFlowRecordDelete (parameter) {
  return axios({
    url: '/WareFlowRecord/delete',
    method: 'post',
    data: parameter
  })
}
LA22A07_Front/src/api/modular/main/WareSiteManage.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,66 @@
import { axios } from '@/utils/request'
/**
 * æŸ¥è¯¢ç«™ç‚¹ä¿¡æ¯
 *
 * @author kejj
 */
export function WareSitePage (parameter) {
  return axios({
    url: '/WareSite/page',
    method: 'get',
    params: parameter
  })
}
/**
 * ç«™ç‚¹ä¿¡æ¯åˆ—表
 *
 * @author kejj
 */
export function WareSiteList (parameter) {
  return axios({
    url: '/WareSite/list',
    method: 'get',
    params: parameter
  })
}
/**
 * æ·»åŠ ç«™ç‚¹ä¿¡æ¯
 *
 * @author kejj
 */
export function WareSiteAdd (parameter) {
  return axios({
    url: '/WareSite/add',
    method: 'post',
    data: parameter
  })
}
/**
 * ç¼–辑站点信息
 *
 * @author kejj
 */
export function WareSiteEdit (parameter) {
  return axios({
    url: '/WareSite/edit',
    method: 'post',
    data: parameter
  })
}
/**
 * åˆ é™¤ç«™ç‚¹ä¿¡æ¯
 *
 * @author kejj
 */
export function WareSiteDelete (parameter) {
  return axios({
    url: '/WareSite/delete',
    method: 'post',
    data: parameter
  })
}
LA22A07_Front/src/api/modular/main/WareTaskBakManage.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,79 @@
import { axios } from '@/utils/request'
/**
 * æŸ¥è¯¢åŽ†å²ä»»åŠ¡è®°å½•
 *
 * @author kejj
 */
export function WareTaskBakPage (parameter) {
  return axios({
    url: '/WareTaskBakService/page',
    method: 'get',
    params: parameter
  })
}
/**
 * åŽ†å²ä»»åŠ¡è®°å½•åˆ—è¡¨
 *
 * @author kejj
 */
export function WareTaskBakList (parameter) {
  return axios({
    url: '/WareTaskBakService/list',
    method: 'get',
    params: parameter
  })
}
/**
 * æ·»åŠ åŽ†å²ä»»åŠ¡è®°å½•
 *
 * @author kejj
 */
export function WareTaskBakAdd (parameter) {
  return axios({
    url: '/WareTaskBakService/add',
    method: 'post',
    data: parameter
  })
}
/**
 * ç¼–辑历史任务记录
 *
 * @author kejj
 */
export function WareTaskBakEdit (parameter) {
  return axios({
    url: '/WareTaskBakService/edit',
    method: 'post',
    data: parameter
  })
}
/**
 * åˆ é™¤åŽ†å²ä»»åŠ¡è®°å½•
 *
 * @author kejj
 */
export function WareTaskBakDelete (parameter) {
  return axios({
    url: '/WareTaskBakService/delete',
    method: 'post',
    data: parameter
  })
}
/**
 * åŽ†å²ä»»åŠ¡ç‰©æ–™è¯¦æƒ…
 *
 * @author kejj
 */
export function WareTaskBakDetail (parameter) {
  return axios({
    url: '/WareTaskBakService/details',
    method: 'get',
    params: parameter
  })
}
LA22A07_Front/src/api/modular/main/WmsAreaManage.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,66 @@
import { axios } from '@/utils/request'
/**
 * æŸ¥è¯¢åº“区信息
 *
 * @author liduanping
 */
export function WmsAreaPage (parameter) {
  return axios({
    url: '/WmsArea/page',
    method: 'get',
    params: parameter
  })
}
/**
 * åº“区信息列表
 *
 * @author liduanping
 */
export function WmsAreaList (parameter) {
  return axios({
    url: '/WmsArea/list',
    method: 'get',
    params: parameter
  })
}
/**
 * æ·»åŠ åº“åŒºä¿¡æ¯
 *
 * @author liduanping
 */
export function WmsAreaAdd (parameter) {
  return axios({
    url: '/WmsArea/add',
    method: 'post',
    data: parameter
  })
}
/**
 * ç¼–辑库区信息
 *
 * @author liduanping
 */
export function WmsAreaEdit (parameter) {
  return axios({
    url: '/WmsArea/edit',
    method: 'post',
    data: parameter
  })
}
/**
 * åˆ é™¤åº“区信息
 *
 * @author liduanping
 */
export function WmsAreaDelete (parameter) {
  return axios({
    url: '/WmsArea/delete',
    method: 'post',
    data: parameter
  })
}
LA22A07_Front/src/api/modular/main/WmsContainerManage.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,92 @@
import { axios } from '@/utils/request'
/**
 * æŸ¥è¯¢æ‰˜ç›˜ä¿¡æ¯
 *
 * @author liduanping
 */
export function WmsContainerPage (parameter) {
  return axios({
    url: '/WmsContainerService/page',
    method: 'get',
    params: parameter
  })
}
/**
 * æ‰˜ç›˜ä¿¡æ¯åˆ—表
 *
 * @author liduanping
 */
export function WmsContainerList (parameter) {
  return axios({
    url: '/WmsContainerService/list',
    method: 'get',
    params: parameter
  })
}
/**
 * æ·»åŠ æ‰˜ç›˜ä¿¡æ¯
 *
 * @author liduanping
 */
export function WmsContainerAdd (parameter) {
  return axios({
    url: '/WmsContainerService/add',
    method: 'post',
    data: parameter
  })
}
/**
 * ç¼–辑托盘信息
 *
 * @author liduanping
 */
export function WmsContainerEdit (parameter) {
  return axios({
    url: '/WmsContainerService/edit',
    method: 'post',
    data: parameter
  })
}
/**
 * åˆ é™¤æ‰˜ç›˜ä¿¡æ¯
 *
 * @author liduanping
 */
export function WmsContainerDelete (parameter) {
  return axios({
    url: '/WmsContainerService/delete',
    method: 'post',
    data: parameter
  })
}
/**
 * æ‰˜ç›˜ä¿¡æ¯åˆ—表
 *
 * @author liduanping
 */
export function WmsfkContainerList (parameter) {
  return axios({
    url: '/WmsContainerService/fkWmsContainer',
    method: 'get',
    params: parameter
  })
}
/**
 * åˆ é™¤æ‰˜ç›˜ä¿¡æ¯
 *
 * @author liduanping
 */
export function JBWmsContainerDelete (parameter) {
  return axios({
    url: '/WmsContainerService/jblocation',
    method: 'post',
    data: parameter
  })
}
LA22A07_Front/src/api/modular/main/WmsContainerTypeManage.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,79 @@
import { axios } from '@/utils/request'
/**
 * æŸ¥è¯¢ç«¯æ‹¾å™¨å°è½¦ç±»åž‹ä¿¡æ¯
 *
 * @author qy
 */
export function WmsContainerTypePage (parameter) {
  return axios({
    url: '/WmsContainerType/page',
    method: 'get',
    params: parameter
  })
}
/**
 * ç«¯æ‹¾å™¨å°è½¦ç±»åž‹ä¿¡æ¯åˆ—表
 *
 * @author qy
 */
export function WmsContainerTypeList (parameter) {
  return axios({
    url: '/WmsContainerType/list',
    method: 'get',
    params: parameter
  })
}
/**
 * æ·»åŠ ç«¯æ‹¾å™¨å°è½¦ç±»åž‹ä¿¡æ¯
 *
 * @author qy
 */
export function WmsContainerTypeAdd (parameter) {
  return axios({
    url: '/WmsContainerType/add',
    method: 'post',
    data: parameter
  })
}
/**
 * ç¼–辑端拾器小车类型信息
 *
 * @author qy
 */
export function WmsContainerTypeEdit (parameter) {
  return axios({
    url: '/WmsContainerType/edit',
    method: 'post',
    data: parameter
  })
}
/**
 * åˆ é™¤ç«¯æ‹¾å™¨å°è½¦ç±»åž‹ä¿¡æ¯
 *
 * @author qy
 */
export function WmsContainerTypeDelete (parameter) {
  return axios({
    url: '/WmsContainerType/delete',
    method: 'post',
    data: parameter
  })
}
/**
 * æŸ¥è¯¢ç«¯æ‹¾å™¨å°è½¦ç±»åž‹åˆ—表
 *
 * @author qy
 */
export function ContainerTypeList (parameter) {
  return axios({
    url: '/WmsContainerType/fkWmsContainerType',
    method: 'get',
    params: parameter
  })
}
LA22A07_Front/src/api/modular/main/WmsLocationTypeManage.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,66 @@
import { axios } from '@/utils/request'
/**
 * æŸ¥è¯¢åº“位类型
 *
 * @author kejj
 */
export function WmsLocationTypePage (parameter) {
  return axios({
    url: '/WmsLocationType/page',
    method: 'get',
    params: parameter
  })
}
/**
 * åº“位类型列表
 *
 * @author kejj
 */
export function WmsLocationTypeList (parameter) {
  return axios({
    url: '/WmsLocationType/list',
    method: 'get',
    params: parameter
  })
}
/**
 * æ·»åŠ åº“ä½ç±»åž‹
 *
 * @author kejj
 */
export function WmsLocationTypeAdd (parameter) {
  return axios({
    url: '/WmsLocationType/add',
    method: 'post',
    data: parameter
  })
}
/**
 * ç¼–辑库位类型
 *
 * @author kejj
 */
export function WmsLocationTypeEdit (parameter) {
  return axios({
    url: '/WmsLocationType/edit',
    method: 'post',
    data: parameter
  })
}
/**
 * åˆ é™¤åº“位类型
 *
 * @author kejj
 */
export function WmsLocationTypeDelete (parameter) {
  return axios({
    url: '/WmsLocationType/delete',
    method: 'post',
    data: parameter
  })
}
LA22A07_Front/src/api/modular/main/WmsMaterialManage.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,66 @@
import { axios } from '@/utils/request'
/**
 * æŸ¥è¯¢ç‰©æ–™ä¿¡æ¯
 *
 * @author liduanping
 */
export function WmsMaterialPage (parameter) {
  return axios({
    url: '/WmsMaterial/page',
    method: 'get',
    params: parameter
  })
}
/**
 * ç‰©æ–™ä¿¡æ¯åˆ—表
 *
 * @author liduanping
 */
export function WmsMaterialList (parameter) {
  return axios({
    url: '/WmsMaterial/list',
    method: 'get',
    params: parameter
  })
}
/**
 * æ·»åŠ ç‰©æ–™ä¿¡æ¯
 *
 * @author liduanping
 */
export function WmsMaterialAdd (parameter) {
  return axios({
    url: '/WmsMaterial/add',
    method: 'post',
    data: parameter
  })
}
/**
 * ç¼–辑物料信息
 *
 * @author liduanping
 */
export function WmsMaterialEdit (parameter) {
  return axios({
    url: '/WmsMaterial/edit',
    method: 'post',
    data: parameter
  })
}
/**
 * åˆ é™¤ç‰©æ–™ä¿¡æ¯
 *
 * @author liduanping
 */
export function WmsMaterialDelete (parameter) {
  return axios({
    url: '/WmsMaterial/delete',
    method: 'post',
    data: parameter
  })
}
LA22A07_Front/src/api/modular/main/WmsPartManage.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,66 @@
import { axios } from '@/utils/request'
/**
 * æŸ¥è¯¢é›¶ä»¶ä¿¡æ¯
 *
 * @author kejj
 */
export function WmsPartPage (parameter) {
  return axios({
    url: '/WmsPartService/page',
    method: 'get',
    params: parameter
  })
}
/**
  * é›¶ä»¶ä¿¡æ¯åˆ—表
  *
  * @author kejj
  */
 export function WmsPartList (parameter) {
   return axios({
     url: '/WmsPartService/list',
     method: 'get',
     params: parameter
   })
 }
/**
 * æ·»åŠ é›¶ä»¶ä¿¡æ¯
 *
 * @author kejj
 */
export function WmsPartAdd (parameter) {
  return axios({
    url: '/WmsPartService/add',
    method: 'post',
    data: parameter
  })
}
/**
 * ç¼–辑零件信息
 *
 * @author kejj
 */
export function WmsPartEdit (parameter) {
  return axios({
    url: '/WmsPartService/edit',
    method: 'post',
    data: parameter
  })
}
/**
 * åˆ é™¤é›¶ä»¶ä¿¡æ¯
 *
 * @author kejj
 */
export function WmsPartDelete (parameter) {
  return axios({
    url: '/WmsPartService/delete',
    method: 'post',
    data: parameter
  })
}
LA22A07_Front/src/api/modular/main/WmsPlaceManage.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,90 @@
import { axios } from '@/utils/request'
/**
 * æŸ¥è¯¢åº“位信息
 *
 * @author liduanping
 */
export function WmsPlacePage (parameter) {
  return axios({
    url: '/WmsPlaceService/page',
    method: 'get',
    params: parameter
  })
}
/**
 * åº“位信息列表
 *
 * @author liduanping
 */
export function WmsPlaceList (parameter) {
  return axios({
    url: '/WmsPlaceService/list',
    method: 'get',
    params: parameter
  })
}
/**
 * æ·»åŠ åº“ä½ä¿¡æ¯
 *
 * @author liduanping
 */
export function WmsPlaceAdd (parameter) {
  return axios({
    url: '/WmsPlaceService/add',
    method: 'post',
    data: parameter
  })
}
/**
 * ç¼–辑库位信息
 *
 * @author liduanping
 */
export function WmsPlaceEdit (parameter) {
  return axios({
    url: '/WmsPlaceService/edit',
    method: 'post',
    data: parameter
  })
}
/**
 * åˆ é™¤åº“位信息
 *
 * @author liduanping
 */
export function WmsPlaceDelete (parameter) {
  return axios({
    url: '/WmsPlaceService/delete',
    method: 'post',
    data: parameter
  })
}
/**
* èŽ·å–WmsArea列表
* @author liduanping
*/
export function WmsPlaceFkWmsAreaList() {
  return axios({
    url: '/WmsPlaceService/fkWmsArea',
    method: 'get'
  })
}
/**
 * ç©ºåº“位信息列表
 *
 * @author liduanping
 */
export function WmsEmptyPlaceList (parameter) {
  return axios({
    url: '/WmsPlaceService/emptylist',
    method: 'get',
    params: parameter
  })
}
LA22A07_Front/src/api/modular/main/WmsTaskManage.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,105 @@
import { axios } from '@/utils/request'
/**
 * æŸ¥è¯¢ä»»åŠ¡ç®¡ç†
 *
 * @author liduanping
 */
export function WmsTaskPage (parameter) {
  return axios({
    url: '/WmsTask/page',
    method: 'get',
    params: parameter
  })
}
/**
 * ä»»åŠ¡ç‰©æ–™è¯¦æƒ…
 *
 * @author yhh
 */
export function WmsTaskDetail (parameter) {
  return axios({
    url: '/WmsTask/detail',
    method: 'get',
    params: parameter
  })
}
/**
 * åˆ é™¤ä»»åŠ¡
 *
 * @author yhh
 */
export function WmsTaskDelete (parameter) {
  return axios({
    url: '/WmsTask/DeleteTask',
    method: 'get',
    params: parameter
  })
}
/**
 * åˆ é™¤åº“å­˜
 *
 * @author yhh
 */
export function WmsDeleteBalance (parameter) {
  return axios({
    url: '/WmsTask/deletebalance',
    method: 'post',
    data: parameter
  })
}
/**
 * åˆ é™¤åº“å­˜
 *
 * @author yhh
 */
export function WmsAddBalance (parameter) {
  return axios({
    url: '/WmsTask/addbalance',
    method: 'post',
    data: parameter
  })
}
/**
 * å¼ºåˆ¶å®Œæˆ
 *
 * @author yhh
 */
export function WmsTaskFinish (parameter) {
  return axios({
    url: '/WmsTask/FinishWare',
    method: 'get',
    params: parameter
  })
}
/**
 * æ›´æ”¹ä¼˜å…ˆçº§
 *
 * @author yhh
 */
export function WmsTaskUpdateLevel (parameter) {
  return axios({
    url: '/WmsTask/UpdateTasklevel',
    method: 'get',
    params: parameter
  })
}
/**
 * æ›´æ”¹ä¼˜å…ˆçº§
 *
 * @author yhh
 */
export function fronttaskcreate (parameter) {
  return axios({
    url: '/WmsTask/fronttaskcreate',
    method: 'post',
    data: parameter
  })
}
LA22A07_Front/src/api/modular/main/ceManage.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,66 @@
import { axios } from '@/utils/request'
/**
 * æŸ¥è¯¢ç‰©æ–™ä¿¡æ¯
 *
 * @author liduanping
 */
export function cePage (parameter) {
  return axios({
    url: '/ce/page',
    method: 'get',
    params: parameter
  })
}
/**
 * ç‰©æ–™ä¿¡æ¯åˆ—表
 *
 * @author liduanping
 */
export function ceList (parameter) {
  return axios({
    url: '/ce/list',
    method: 'get',
    params: parameter
  })
}
/**
 * æ·»åŠ ç‰©æ–™ä¿¡æ¯
 *
 * @author liduanping
 */
export function ceAdd (parameter) {
  return axios({
    url: '/ce/add',
    method: 'post',
    data: parameter
  })
}
/**
 * ç¼–辑物料信息
 *
 * @author liduanping
 */
export function ceEdit (parameter) {
  return axios({
    url: '/ce/edit',
    method: 'post',
    data: parameter
  })
}
/**
 * åˆ é™¤ç‰©æ–™ä¿¡æ¯
 *
 * @author liduanping
 */
export function ceDelete (parameter) {
  return axios({
    url: '/ce/delete',
    method: 'post',
    data: parameter
  })
}
LA22A07_Front/src/api/modular/main/cesManage.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,66 @@
import { axios } from '@/utils/request'
/**
 * æŸ¥è¯¢ces
 *
 * @author liduanping
 */
export function cesPage (parameter) {
  return axios({
    url: '/ces/page',
    method: 'get',
    params: parameter
  })
}
/**
 * ces列表
 *
 * @author liduanping
 */
export function cesList (parameter) {
  return axios({
    url: '/ces/list',
    method: 'get',
    params: parameter
  })
}
/**
 * æ·»åŠ ces
 *
 * @author liduanping
 */
export function cesAdd (parameter) {
  return axios({
    url: '/ces/add',
    method: 'post',
    data: parameter
  })
}
/**
 * ç¼–辑ces
 *
 * @author liduanping
 */
export function cesEdit (parameter) {
  return axios({
    url: '/ces/edit',
    method: 'post',
    data: parameter
  })
}
/**
 * åˆ é™¤ces
 *
 * @author liduanping
 */
export function cesDelete (parameter) {
  return axios({
    url: '/ces/delete',
    method: 'post',
    data: parameter
  })
}
LA22A07_Front/src/api/modular/system/README.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1 @@
/** æ­¤æ–‡ä»¶å¤¹ä¸‹ä»£ç å°½é‡ä¸è¦åŠ¨ï¼Œåº•åº§å‡çº§ç›´æŽ¥è¦†ç›–æ›¿æ¢ **/
LA22A07_Front/src/api/modular/system/appManage.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,106 @@
/**
 * ç³»ç»Ÿåº”用
 *
 * @author yubaoshan
 * @date 2020å¹´4月23日12:10:57
 */
import { axios } from '@/utils/request'
/**
 * ç³»ç»Ÿåº”用列表
 *
 * @author yubaoshan
 * @date 2020å¹´7月9日15:05:01
 */
export function getAppPage (parameter) {
  return axios({
    url: '/sysApp/page',
    method: 'get',
    params: parameter
  })
}
/**
 * ç³»ç»Ÿåº”用列表
 *
 * @author yubaoshan
 * @date 2020å¹´7月9日15:05:01
 */
export function getAppList (parameter) {
  return axios({
    url: '/sysApp/list',
    method: 'get',
    params: parameter
  })
}
/**
 * æ–°å¢žç³»ç»Ÿåº”用
 *
 * @author yubaoshan
 * @date 2020å¹´7月9日15:05:01
 */
export function sysAppAdd (parameter) {
  return axios({
    url: '/sysApp/add',
    method: 'post',
    data: parameter
  })
}
/**
 * ç¼–辑系统应用
 *
 * @author yubaoshan
 * @param parameter
 * @returns {*}
 */
export function sysAppEdit (parameter) {
  return axios({
    url: '/sysApp/edit',
    method: 'post',
    data: parameter
  })
}
/**
 * åˆ é™¤ç³»ç»Ÿåº”用
 *
 * @author yubaoshan
 * @date 2020å¹´7月9日15:05:01
 */
export function sysAppDelete (parameter) {
  return axios({
    url: '/sysApp/delete',
    method: 'post',
    data: parameter
  })
}
/**
 * è®¾ä¸ºé»˜è®¤åº”用
 *
 * @author yubaoshan
 * @date 2020å¹´7月9日15:05:01
 */
export function sysAppSetAsDefault (parameter) {
  return axios({
    url: '/sysApp/setAsDefault',
    method: 'post',
    data: parameter
  })
}
/**
 * ä¿®æ”¹åº”用状态
 *
 * @author zuohuaijun
 * @date 2021å¹´1月1日
 */
export function sysAppChangeStatus (parameter) {
  return axios({
    url: '/sysApp/changeStatus',
    method: 'post',
    data: parameter
  })
}
LA22A07_Front/src/api/modular/system/auditorworkflowManage.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,61 @@
import {
  axios
} from '@/utils/request'
// å®¡æ ¸æµç¨‹ç›¸å…³
/**
 * èŽ·å–æˆ‘å‘èµ·çš„æµç¨‹
 *
 * @author é£žè›¾æ•‘火
 * @date 2022/5/09
 */
 export function getMystartWorkflow(parameter) {
  return axios({
    url: '/workflowmanager/page',
    method: 'post',
    params: parameter
  })
}
/**
 * æœªå®¡æ ¸æµç¨‹
 *
 * @author é£žè›¾æ•‘火
 * @date 2022/5/09
 */
 export function getMyUnAuditorWorkflow(parameter) {
  return axios({
    url: '/auditorworkflow/myworkflowlist',
    method: 'get',
    params: parameter
  })
}
/**
 * æµç¨‹å®¡æ ¸èŠ‚ç‚¹æ•°æ®
 *
 * @author é£žè›¾æ•‘火
 * @date 2022/5/09
 */
 export function getStepAuditor(parameter) {
  return axios({
    url: '/auditorworkflow/stepauditor',
    method: 'get',
    params: parameter
  })
}
/**
 * å®¡æ ¸æµç¨‹
 *
 * @author é£žè›¾æ•‘火
 * @date 2022/5/09
 */
 export function auditorWorkflow(parameter) {
  return axios({
    url: '/auditorworkflow/auditor',
    method: 'post',
    data: parameter
  })
}
LA22A07_Front/src/api/modular/system/configManage.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,85 @@
import { axios } from '@/utils/request'
/**
 * åˆ†é¡µæŸ¥è¯¢é…ç½®åˆ—表
 *
 * @author yubaoshan
 * @date 2020/5/25 01:57
 */
export function sysConfigPage (parameter) {
  return axios({
    url: '/sysConfig/page',
    method: 'get',
    params: parameter
  })
}
/**
 * æ·»åŠ ç³»ç»Ÿå‚æ•°é…ç½®
 *
 * @author yubaoshan
 * @date 2020/5/25 01:57
 */
export function sysConfigAdd (parameter) {
  return axios({
    url: '/sysConfig/add',
    method: 'post',
    data: parameter
  })
}
/**
 * ç¼–辑系统参数配置
 *
 * @author yubaoshan
 * @date 2020/5/25 01:57
 */
export function sysConfigEdit (parameter) {
  return axios({
    url: '/sysConfig/edit',
    method: 'post',
    data: parameter
  })
}
/**
 * åˆ é™¤ç³»ç»Ÿå‚数配置
 *
 * @author yubaoshan
 * @date 2020/5/25 01:57
 */
export function sysConfigDelete (parameter) {
  return axios({
    url: '/sysConfig/delete',
    method: 'post',
    data: parameter
  })
}
/**
 * èŽ·å–å­—å…¸ç±»åž‹ä¸‹æ‰€æœ‰å­—å…¸ï¼Œä¸¾ä¾‹ï¼Œè¿”å›žæ ¼å¼ä¸ºï¼š[{code:"M",value:"男"},{code:"F",value:"女"}]
 *
 * @author yubaoshan
 * @date 2020/5/25 02:06
 */
export function sysDictTypeDropDown (parameter) {
  return axios({
    url: '/sysDictType/dropDown',
    method: 'get',
    params: parameter
  })
}
/**
 * èŽ·å–ç³»ç»Ÿçš„æ‰€æœ‰ä»»åŠ¡åˆ—è¡¨
 *
 * @author yubaoshan
 * @date 2020/7/8 20:46
 */
export function sysTimersGetActionClasses (parameter) {
  return axios({
    url: '/sysTimers/getActionClasses',
    method: 'get',
    params: parameter
  })
}
LA22A07_Front/src/api/modular/system/dictDataManage.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,87 @@
import {
  axios
} from '@/utils/request'
/**
 * æŸ¥è¯¢ç³»ç»Ÿå­—典值
 *
 * @author yubaoshan
 * @date 2020/5/17 02:24
 */
export function sysDictDataPage(parameter) {
  return axios({
    url: '/sysDictData/page',
    method: 'get',
    params: parameter
  })
}
/**
 * æ·»åŠ ç³»ç»Ÿå­—å…¸å€¼
 *
 * @author yubaoshan
 * @date 2020/5/17 02:24
 */
export function sysDictDataAdd(parameter) {
  return axios({
    url: '/sysDictData/add',
    method: 'post',
    data: parameter
  })
}
/**
 * ç¼–辑系统字典值
 *
 * @author yubaoshan
 * @date 2020/5/17 02:25
 */
export function sysDictDataEdit(parameter) {
  return axios({
    url: '/sysDictData/edit',
    method: 'post',
    data: parameter
  })
}
/**
 * åˆ é™¤ç³»ç»Ÿå­—典值
 *
 * @author yubaoshan
 * @date 2020/5/17 02:25
 */
export function sysDictDataDelete(parameter) {
  return axios({
    url: '/sysDictData/delete',
    method: 'post',
    data: parameter
  })
}
/**
 * ä¿®æ”¹ç³»ç»Ÿå­—典状态
 *
 * @author xusn
 * @date 2021-04-30 11:00:16
 */
export function sysDictDataChangeStatus(parameter) {
  return axios({
    url: '/sysDictData/changeStatus',
    method: 'post',
    data: parameter
  })
}
/**
 * æ ¹æ®Code获取字典数据
 *
 * @author lanhuxing
 * @date 2021-04-30 11:00:16
 */
export function sysDictDataListbycode(parameter) {
  return axios({
    url: '/sysDictData/listbycode?code=' + parameter.code,
    method: 'get',
    data: parameter
  })
}
LA22A07_Front/src/api/modular/system/dictManage.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,101 @@
import {
  axios
} from '@/utils/request'
/**
 * åˆ†é¡µæŸ¥è¯¢ç³»ç»Ÿå­—典类型
 *
 * @author yubaoshan
 * @date 2020/5/17 01:46
 */
export function sysDictTypePage(parameter) {
  return axios({
    url: '/sysDictType/page',
    method: 'get',
    params: parameter
  })
}
/**
 * æ·»åŠ ç³»ç»Ÿå­—å…¸ç±»åž‹
 *
 * @author yubaoshan
 * @date 2020/5/17 01:46
 */
export function sysDictTypeAdd(parameter) {
  return axios({
    url: '/sysDictType/add',
    method: 'post',
    data: parameter
  })
}
/**
 * ç¼–辑系统字典类型
 *
 * @author yubaoshan
 * @date 2020/5/17 01:50
 */
export function sysDictTypeEdit(parameter) {
  return axios({
    url: '/sysDictType/edit',
    method: 'post',
    data: parameter
  })
}
/**
 * åˆ é™¤ç³»ç»Ÿå­—典类型
 *
 * @author yubaoshan
 * @date 2020/5/17 01:50
 */
export function sysDictTypeDelete(parameter) {
  return axios({
    url: '/sysDictType/delete',
    method: 'post',
    data: parameter
  })
}
/**
 * èŽ·å–å­—å…¸ç±»åž‹ä¸‹æ‰€æœ‰å­—å…¸ï¼Œä¸¾ä¾‹ï¼Œè¿”å›žæ ¼å¼ä¸ºï¼š[{code:"M",value:"男"},{code:"F",value:"女"}]
 *
 * @author yubaoshan
 * @date 2020/6/10 00:10
 */
export function sysDictTypeDropDown(parameter) {
  return axios({
    url: '/sysDictType/dropDown',
    method: 'get',
    params: parameter
  })
}
/**
 * èŽ·å–æ‰€æœ‰å­—å…¸ï¼Œå¯åŠ¨æ—¶åŠ å…¥ç¼“å­˜ä½¿ç”¨
 *
 * @author yubaoshan
 * @date 2020/6/10 00:10
 */
export function sysDictTypeTree(parameter) {
  return axios({
    url: '/sysDictType/tree',
    method: 'get',
    params: parameter
  })
}
/**
 * ä¿®æ”¹ç³»ç»Ÿå­—典状态
 *
 * @author xusn
 * @date 2021-04-30 11:00:16
 */
export function sysDictTypeChangeStatus(parameter) {
  return axios({
    url: '/sysDictType/changeStatus',
    method: 'post',
    data: parameter
  })
}
LA22A07_Front/src/api/modular/system/emailManage.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,29 @@
import { axios } from '@/utils/request'
/**
 * å‘送邮件
 *
 * @author yubaoshan
 * @date 2020/7/3 23:22
 */
export function emailSendEmail (parameter) {
  return axios({
    url: '/email/sendEmail',
    method: 'post',
    data: parameter
  })
}
/**
 * å‘送html邮件
 *
 * @author yubaoshan
 * @date 2020/7/3 23:23
 */
export function emailSendEmailHtml (parameter) {
  return axios({
    url: '/email/sendEmailHtml',
    method: 'post',
    data: parameter
  })
}
LA22A07_Front/src/api/modular/system/enumManage.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,29 @@
import { axios } from '@/utils/request'
/**
 * æ ¹æ®æžšä¸¾åç§°èŽ·å–æžšä¸¾æ•°æ®ï¼Œè¿”å›žæ ¼å¼ä¸ºï¼š[{code:"M",value:"男"},{code:"F",value:"女"}]
 *
 * @author taoran
 * @date 2021-04-16 21:13/sysEnumData/list/{enumName}
 */
export function sysEnumDataList (parameter) {
  return axios({
    url: '/sysEnumData/list',
    method: 'get',
    params: parameter
  })
}
/**
 * æ ¹æ®å®žä½“名和字段名获取枚举数据
 *
 * @author taoran
 * @date 2021-04-16 21:13
 */
export function sysEnumDataListByField (parameter) {
  return axios({
    url: '/sysEnumData/listByFiled',
    method: 'get',
    params: parameter
  })
}
LA22A07_Front/src/api/modular/system/fileManage.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,115 @@
import { axios } from '@/utils/request'
/**
 * åˆ†é¡µæŸ¥è¯¢æ–‡ä»¶ä¿¡æ¯è¡¨
 *
 * @author yubaoshan
 * @date 2020/6/30 00:20
 */
export function sysFileInfoPage (parameter) {
  return axios({
    url: '/sysFileInfo/page',
    method: 'get',
    params: parameter
  })
}
/**
 * èŽ·å–å…¨éƒ¨æ–‡ä»¶ä¿¡æ¯è¡¨
 *
 * @author yubaoshan
 * @date 2020/6/30 00:20
 */
export function sysFileInfoList (parameter) {
  return axios({
    url: '/sysFileInfo/list',
    method: 'get',
    params: parameter
  })
}
/**
 * ä¸Šä¼ æ–‡ä»¶
 *
 * @author yubaoshan
 * @date 2020/6/30 00:20
 */
export function sysFileInfoUpload (parameter) {
  return axios({
    url: '/sysFileInfo/upload',
    method: 'post',
    data: parameter
  })
}
/**
 * ä¸‹è½½æ–‡ä»¶
 *
 * @author yubaoshan
 * @date 2020/6/30 00:20
 */
export function sysFileInfoDownload (parameter) {
  return axios({
    url: '/sysFileInfo/download',
    method: 'get',
    params: parameter,
    responseType: 'blob'
  })
}
/**
 * æŸ¥çœ‹å›¾ç‰‡
 *
 * @author yubaoshan
 * @date 2020/6/30 00:20
 */
export function sysFileInfoPreview (parameter) {
  return axios({
    url: '/sysFileInfo/preview',
    method: 'get',
    params: parameter,
    responseType: 'arraybuffer'
  })
}
/**
 * æŸ¥çœ‹è¯¦æƒ…文件信息表
 *
 * @author yubaoshan
 * @date 2020/6/30 00:20
 */
export function sysFileInfoDetail (parameter) {
  return axios({
    url: '/sysFileInfo/detail',
    method: 'get',
    params: parameter
  })
}
/**
 * åˆ é™¤æ–‡ä»¶ä¿¡æ¯è¡¨
 *
 * @author yubaoshan
 * @date 2020/6/30 00:20
 */
export function sysFileInfoDelete (parameter) {
  return axios({
    url: '/sysFileInfo/delete',
    method: 'post',
    data: parameter
  })
}
/**
 * ä¸Šä¼ å¤´åƒ
 *
 * @author zuohuaijun
 * @date 2021/4/23 00:20
 */
export function sysFileInfoUploadAvatar (parameter) {
  return axios({
    url: '/sysFileInfo/uploadAvatar',
    method: 'post',
    data: parameter
  })
}
LA22A07_Front/src/api/modular/system/formDesignmanage.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,81 @@
import { axios } from '@/utils/request'
/**
 * ä¿å­˜è¡¨å•
 */
export function formAdd(parameter) {
  return axios({
    url: '/formmanager/add',
    method: 'post',
    data: parameter
  })
}
/**
 * èŽ·å–è¡¨å•
 */
 export function formEntity(parameter) {
  return axios({
    url: '/formmanager/entity',
    method: 'get',
    params: parameter
  })
}
/**
 * èŽ·å–è¡¨å•æŸ¥çœ‹ ä¸èƒ½ç¼–辑
 */
 export function formEntityView(parameter) {
  return axios({
    url: '/formmanager/entityview',
    method: 'get',
    params: parameter
  })
}
/**
 * æ›´æ–°è¡¨å•
 */
 export function formEdit(parameter) {
  return axios({
    url: '/formmanager/update',
    method: 'post',
    data: parameter
  })
}
// åˆ é™¤è¡¨å•
export function formDelete(parameter) {
  return axios({
    url: '/formmanager/delete',
    method: 'delete',
    data: parameter
  })
}
// å‘布表单
export function formPublish(parameter) {
  return axios({
    url: '/formmanager/publish',
    method: 'post',
    data: parameter
  })
}
// èŽ·å–è¡¨å•åˆ—è¡¨
export function formList(parameter) {
  return axios({
    url: '/formmanager/page',
    method: 'get',
    params: parameter
  })
}
// èŽ·å–è¡¨å•åˆ—è¡¨
export function getformList(parameter) {
  return axios({
    url: '/formmanager/publislist',
    method: 'get',
    params: parameter
  })
}
LA22A07_Front/src/api/modular/system/homeManage.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,43 @@
/**
 * ç³»ç»Ÿåº”用
 *
 * @author yhh
 */
import { axios } from '@/utils/request'
/**
 * èŽ·å–åº“ä½æ•°æ®
 *
 * @author yhh
 */
export function GetPalceNumbers () {
  return axios({
    url: '/locationview/GetPalceDetail',
    method: 'get'
  })
}
/**
 * èŽ·å–å‡ºå…¥åº“ç»Ÿè®¡æ•°æ®
 *
 * @author yhh
 */
export function GeInOutTaskNumber (params) {
  return axios({
    url: '/locationview/task-detail',
    method: 'get',
    params:params
  })
}
/**
 * èŽ·å–å‡ºå…¥åº“æ€»æ•°
 *
 * @author yhh
 */
export function GeInOutTotalNumber () {
  return axios({
    url: '/locationview/GetTaskCount',
    method: 'get'
  })
}
LA22A07_Front/src/api/modular/system/logManage.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,93 @@
/*
 * @Author: your name
 * @Date: 2021-04-17 17:45:37
 * @LastEditTime: 2021-04-17 18:03:59
 * @LastEditors: your name
 * @Description: In User Settings Edit
 * @FilePath: \frontend\src\api\modular\system\logManage.js
 */
import { axios } from '@/utils/request'
/**
 * æŸ¥è¯¢è®¿é—®æ—¥å¿—
 *
 * @author yubaoshan
 * @date 2020/5/19 11:57
 */
export function sysVisLogPage (parameter) {
  return axios({
    url: '/sysVisLog/page',
    method: 'get',
    params: parameter
  })
}
/**
 * æŸ¥è¯¢æ“ä½œæ—¥å¿—
 *
 * @author yubaoshan
 * @date 2020/5/19 11:57
 */
export function sysOpLogPage (parameter) {
  return axios({
    url: '/sysOpLog/page',
    method: 'get',
    params: parameter
  })
}
/**
 * æŸ¥è¯¢å¼‚常日志
 *
 * @author yubaoshan
 * @date 2020/5/19 11:57
 */
export function sysExLogPage (parameter) {
  return axios({
    url: '/sysExLog/page',
    method: 'get',
    params: parameter
  })
}
/**
 * æ¸…空访问日志
 *
 * @author yubaoshan
 * @date 2020/6/23 23:09
 */
export function sysVisLogDelete (parameter) {
  return axios({
    url: '/sysVisLog/delete',
    method: 'post',
    data: parameter
  })
}
/**
 * æ¸…空登录日志
 *
 * @author yubaoshan
 * @date 2020/6/23 23:09
 */
export function sysOpLogDelete (parameter) {
  return axios({
    url: '/sysOpLog/delete',
    method: 'post',
    data: parameter
  })
}
/**
 * æ¸…空异常日志
 *
 * @author yubaoshan
 * @date 2020/6/23 23:09
 */
 export function sysExLogDelete (parameter) {
  return axios({
    url: '/sysExLog/delete',
    method: 'post',
    data: parameter
  })
}
LA22A07_Front/src/api/modular/system/loginManage.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,119 @@
/**
 * ç³»ç»Ÿåº”用
 *
 * @author yubaoshan
 * @date 2020/5/26 19:06
 */
import { axios } from '@/utils/request'
/**
 * ç™»å½•
 *
 * @author yubaoshan
 * @date 2020/5/26 19:06
 */
export function login (parameter) {
  return axios({
    url: '/login',
    method: 'post',
    data: parameter
  })
}
/**
 * ç™»å‡º
 *
 * @author yubaoshan
 * @date 2020/5/26 19:07
 */
export function logout (parameter) {
  return axios({
    url: '/logout',
    method: 'get',
    params: parameter
  })
}
/**
 * èŽ·å–ç™»å½•ç”¨æˆ·ä¿¡æ¯
 *
 * @author yubaoshan
 * @date 2020/5/26 19:08
 */
export function getLoginUser (parameter) {
  return axios({
    url: '/getLoginUser',
    method: 'get',
    params: parameter
  })
}
/**
 * èŽ·å–ç§Ÿæˆ·å¼€å…³
 *
 * @author yubaoshan
 * @date 2020/9/5 1:24
 */
export function getTenantOpen (parameter) {
  return axios({
    url: '/getTenantOpen',
    method: 'get',
    params: parameter
  })
}
/**
 * èŽ·å–çŸ­ä¿¡éªŒè¯ç 
 *
 * @author yubaoshan
 * @date 2020/5/26 19:29
 */
export function getSmsCaptcha (parameter) {
  return axios({
    url: '/getSmsCaptcha',
    method: 'get',
    params: parameter
  })
}
/**
 * èŽ·å–éªŒè¯ç å¼€å…³
 *
 * @author Jax
 * @date 2021/1/22 00:00
 */
export function getCaptchaOpen (parameter) {
  return axios({
    url: '/getCaptchaOpen',
    method: 'get',
    params: parameter
  })
}
/**
 * èŽ·å–éªŒè¯å›¾ç‰‡ ä»¥åŠtoken
 *
 * @author Jax
 * @date 2021/1/22 00:00
 */
export function reqGet(data) {
  return axios({
    url: '/captcha/get',
    method: 'post',
    data
  })
}
/**
 * æ»‘动或者点选验证
 *
 * @author Jax
 * @date 2021/1/22 00:00
 */
export function reqCheck(data) {
  return axios({
    url: '/captcha/check',
    method: 'post',
    data
  })
}
LA22A07_Front/src/api/modular/system/machineManage.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,32 @@
import {
  axios
} from '@/utils/request'
/**
 *
 * ç³»ç»Ÿå±žæ€§ç›‘控
 *
 */
export function sysMachineUse(parameter) {
  return axios({
    url: '/sysMachine/use',
    method: 'get',
    params: parameter
  })
}
export function sysMachineBase(parameter) {
  return axios({
    url: '/sysMachine/base',
    method: 'get',
    params: parameter
  })
}
export function sysMachineNetwork(parameter) {
  return axios({
    url: '/sysMachine/network',
    method: 'get',
    params: parameter
  })
}
LA22A07_Front/src/api/modular/system/menuManage.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,114 @@
import { axios } from '@/utils/request'
/**
 * èŽ·å–èœå•åˆ—è¡¨
 *
 * @author yubaoshan
 * @param parameter
 * @returns {*}
 */
export function getMenuList (parameter) {
  return axios({
    url: '/sysMenu/list',
    method: 'get',
    params: parameter
  })
}
/**
 * èŽ·å–ç³»ç»Ÿèœå•æ ‘ï¼Œç”¨äºŽæ–°å¢žï¼Œç¼–è¾‘æ—¶é€‰æ‹©ä¸Šçº§èŠ‚ç‚¹
 *
 * @author yubaoshan
 * @date 2020/4/23 12:22
 */
export function getMenuTree (parameter) {
  return axios({
    url: '/sysMenu/tree',
    method: 'get',
    params: parameter
  })
}
/**
 * å¢žåŠ èœå•
 *
 * @author yubaoshan
 * @date 2020/4/24 23:23
 */
export function sysMenuAdd (parameter) {
  return axios({
    url: '/sysMenu/add',
    method: 'post',
    data: parameter
  })
}
/**
 * å¢žåŠ èœå•
 *
 * @author yubaoshan
 * @date 2020/4/24 23:23
 */
export function sysMenuDelete (parameter) {
  return axios({
    url: '/sysMenu/delete',
    method: 'post',
    data: parameter
  })
}
/**
 * æŸ¥çœ‹èœå•详情
 *
 * @author yubaoshan
 * @date 2020/4/25 01:11
 */
export function sysMenuDetail (parameter) {
  return axios({
    url: '/sysMenu/detail',
    method: 'post',
    data: parameter
  })
}
/**
 * ç¼–辑系统菜单
 *
 * @author yubaoshan
 * @date 2020/4/25 01:11
 */
export function sysMenuEdit (parameter) {
  return axios({
    url: '/sysMenu/edit',
    method: 'post',
    data: parameter
  })
}
/**
 * èŽ·å–ç³»ç»Ÿèœå•æ ‘ï¼Œç”¨äºŽç»™è§’è‰²æŽˆæƒæ—¶é€‰æ‹©
 *
 * @author yubaoshan
 * @date 2020/6/2 17:30
 */
export function SysMenuTreeForGrant (parameter) {
  return axios({
    url: '/sysMenu/treeForGrant',
    method: 'get',
    params: parameter
  })
}
/**
 * æ ¹æ®ç³»ç»Ÿåˆ‡æ¢èœå•
 *
 * @author yubaoshan
 * @date 2020/6/28 15:25
 */
export function sysMenuChange (parameter) {
  return axios({
    url: '/sysMenu/change',
    method: 'post',
    data: parameter
  })
}
LA22A07_Front/src/api/modular/system/noticeManage.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,85 @@
import { axios } from '@/utils/request'
/**
 * æŸ¥è¯¢ç³»ç»Ÿé€šçŸ¥å…¬å‘Š
 *
 * @author yubaoshan
 * @date 2020/6/30 01:56
 */
export function sysNoticePage (parameter) {
  return axios({
    url: '/sysNotice/page',
    method: 'get',
    params: parameter
  })
}
/**
 * æ·»åŠ ç³»ç»Ÿé€šçŸ¥å…¬å‘Š
 *
 * @author yubaoshan
 * @date 2020/6/30 01:56
 */
export function sysNoticeAdd (parameter) {
  return axios({
    url: '/sysNotice/add',
    method: 'post',
    data: parameter
  })
}
/**
 * ç¼–辑系统通知公告
 *
 * @author yubaoshan
 * @date 2020/6/30 01:56
 */
export function sysNoticeEdit (parameter) {
  return axios({
    url: '/sysNotice/edit',
    method: 'post',
    data: parameter
  })
}
/**
 * åˆ é™¤ç³»ç»Ÿé€šçŸ¥å…¬å‘Š
 *
 * @author yubaoshan
 * @date 2020/6/30 01:56
 */
export function sysNoticeDelete (parameter) {
  return axios({
    url: '/sysNotice/delete',
    method: 'post',
    data: parameter
  })
}
/**
 * é€šçŸ¥å…¬å‘Šè¯¦æƒ…
 *
 * @author yubaoshan
 * @date 2020/6/30 01:56
 */
export function sysNoticeDetail (parameter) {
  return axios({
    url: '/sysNotice/detail',
    method: 'get',
    params: parameter
  })
}
/**
 * ä¿®æ”¹çŠ¶æ€
 *
 * @author yubaoshan
 * @date 2020/7/30 02:23
 */
export function sysNoticeChangeStatus (parameter) {
  return axios({
    url: '/sysNotice/changeStatus',
    method: 'post',
    data: parameter
  })
}
LA22A07_Front/src/api/modular/system/noticeReceivedManage.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
import { axios } from '@/utils/request'
/**
 * æŸ¥è¯¢æˆ‘收到的系统通知公告
 *
 * @author yubaoshan
 * @date 2020/7/3 03:02
 */
export function sysNoticeReceived (parameter) {
  return axios({
    url: '/sysNotice/received',
    method: 'get',
    params: parameter
  })
}
export function unReadNotice (parameter) {
  return axios({
    url: '/sysNotice/unread',
    method: 'get',
    params: parameter
  })
}
LA22A07_Front/src/api/modular/system/onlineUserManage.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,45 @@
import {
  axios
} from '@/utils/request'
/**
 * åˆ†é¡µåœ¨çº¿ç”¨æˆ·åˆ—表
 *
 * @author å†™æ„
 * @date 2021/7/21 23:34
 */
export function sysOnlineUserPage(parameter) {
  return axios({
    url: '/sysOnlineUser/page',
    method: 'get',
    params: parameter
  })
}
/**
 * åœ¨çº¿ç”¨æˆ·åˆ—表
 *
 * @author yubaoshan
 * @date 2020/6/8 11:11
 */
export function sysOnlineUserList(parameter) {
  return axios({
    url: '/sysOnlineUser/list',
    method: 'get',
    params: parameter
  })
}
/**
 * å¼ºåˆ¶ä¸‹çº¿
 *
 * @author yubaoshan
 * @date 2020/6/8 11:11
 */
export function sysOnlineUserForceExist(parameter) {
  return axios({
    url: '/sysOnlineUser/forceExist',
    method: 'post',
    data: parameter
  })
}
LA22A07_Front/src/api/modular/system/orgManage.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,85 @@
import { axios } from '@/utils/request'
/**
 * èŽ·å–æœºæž„æ ‘
 *
 * @author yubaoshan
 * @date 2020/4/26 12:08
 */
export function getOrgTree (parameter) {
  return axios({
    url: '/sysOrg/tree',
    method: 'get',
    params: parameter
  })
}
/**
 * èŽ·å–æœºæž„åˆ—è¡¨
 *
 * @author yubaoshan
 * @date 2020/5/11 12:59
 */
export function getOrgList (parameter) {
  return axios({
    url: '/sysOrg/list',
    method: 'get',
    params: parameter
  })
}
/**
 * èŽ·å–æœºæž„åˆ—è¡¨
 *
 * @author yubaoshan
 * @date 2020/5/11 16:17
 */
export function getOrgPage (parameter) {
  return axios({
    url: '/sysOrg/page',
    method: 'get',
    params: parameter
  })
}
/**
 * æ–°å¢žæœºæž„
 *
 * @author yubaoshan
 * @date 2020/5/11 13:56
 */
export function sysOrgAdd (parameter) {
  return axios({
    url: '/sysOrg/add',
    method: 'post',
    data: parameter
  })
}
/**
 * ç¼–辑机构
 *
 * @author yubaoshan
 * @date 2020/5/11 13:56
 */
export function sysOrgEdit (parameter) {
  return axios({
    url: '/sysOrg/edit',
    method: 'post',
    data: parameter
  })
}
/**
 * åˆ é™¤æœºæž„
 *
 * @author yubaoshan
 * @date 2020/5/11 12:59
 */
export function sysOrgDelete (parameter) {
  return axios({
    url: '/sysOrg/delete',
    method: 'post',
    data: parameter
  })
}
LA22A07_Front/src/api/modular/system/posManage.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,71 @@
import { axios } from '@/utils/request'
/**
 * æŸ¥è¯¢ç³»ç»ŸèŒä½
 *
 * @author yubaoshan
 * @date 2020/5/25 01:31
 */
export function sysPosPage (parameter) {
  return axios({
    url: '/sysPos/page',
    method: 'get',
    params: parameter
  })
}
/**
 * ç³»ç»ŸèŒä½åˆ—表
 *
 * @author yubaoshan
 * @date 2020/6/21 23:50
 */
export function sysPosList (parameter) {
  return axios({
    url: '/sysPos/list',
    method: 'get',
    params: parameter
  })
}
/**
 * æ·»åŠ ç³»ç»ŸèŒä½
 *
 * @author yubaoshan
 * @date 2020/5/25 01:31
 */
export function sysPosAdd (parameter) {
  return axios({
    url: '/sysPos/add',
    method: 'post',
    data: parameter
  })
}
/**
 * ç¼–辑系统职位
 *
 * @author yubaoshan
 * @date 2020/5/25 01:31
 */
export function sysPosEdit (parameter) {
  return axios({
    url: '/sysPos/edit',
    method: 'post',
    data: parameter
  })
}
/**
 * åˆ é™¤ç³»ç»ŸèŒä½
 *
 * @author yubaoshan
 * @date 2020/5/25 01:31
 */
export function sysPosDelete (parameter) {
  return axios({
    url: '/sysPos/delete',
    method: 'post',
    data: parameter
  })
}
LA22A07_Front/src/api/modular/system/roleManage.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,141 @@
import { axios } from '@/utils/request'
/**
 * èŽ·å–è§’è‰²åˆ—è¡¨
 *
 * @author yubaoshan
 * @date 2020/5/6 11:44
 */
export function getRolePage (parameter) {
  return axios({
    url: '/sysRole/page',
    method: 'get',
    params: parameter
  })
}
/**
 * å¢žåŠ è§’è‰²
 *
 * @author yubaoshan
 * @date 2020/5/6 11:44
 */
export function sysRoleAdd (parameter) {
  return axios({
    url: '/sysRole/add',
    method: 'post',
    data: parameter
  })
}
/**
 * ç¼–辑角色
 *
 * @author yubaoshan
 * @date 2020/5/6 11:44
 */
export function sysRoleEdit (parameter) {
  return axios({
    url: '/sysRole/edit',
    method: 'post',
    data: parameter
  })
}
/**
 * åˆ é™¤è§’色
 *
 * @author yubaoshan
 * @date 2020/5/6 17:51
 */
export function sysRoleDelete (parameter) {
  return axios({
    url: '/sysRole/delete',
    method: 'post',
    data: parameter
  })
}
/**
 * åˆ é™¤è§’色
 *
 * @author yubaoshan
 * @date 2020/5/7 11:28
 */
export function sysRoleDeteil (parameter) {
  return axios({
    url: '/sysRole/detail',
    method: 'get',
    params: parameter
  })
}
/**
 * èŽ·å–æŽˆæƒè§’è‰²åˆ—è¡¨
 *
 * @author yubaoshan
 * @date 2020/5/26 23:59
 */
export function sysRoleDropDown (parameter) {
  return axios({
    url: '/sysRole/dropDown',
    method: 'get',
    params: parameter
  })
}
/**
 * æ‹¥æœ‰èœå•
 *
 * @author yubaoshan
 * @date 2020/6/02 19:02
 */
export function sysRoleOwnMenu (parameter) {
  return axios({
    url: '/sysRole/ownMenu',
    method: 'get',
    params: parameter
  })
}
/**
 * æŽˆæƒèœå•
 *
 * @author yubaoshan
 * @date 2020/6/2 21:10
 */
export function sysRoleGrantMenu (parameter) {
  return axios({
    url: '/sysRole/grantMenu',
    method: 'post',
    data: parameter
  })
}
/**
 * æ‹¥æœ‰æ•°æ®
 *
 * @author yubaoshan
 * @date 2020/6/02 21:40
 */
export function sysRoleOwnData (parameter) {
  return axios({
    url: '/sysRole/ownData',
    method: 'get',
    params: parameter
  })
}
/**
 * æŽˆæƒæ•°æ®
 *
 * @author yubaoshan
 * @date 2020/6/2 21:50
 */
export function sysRoleGrantData (parameter) {
  return axios({
    url: '/sysRole/grantData',
    method: 'post',
    data: parameter
  })
}
LA22A07_Front/src/api/modular/system/smsManage.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,43 @@
import { axios } from '@/utils/request'
/**
 * å‘送记录查询
 *
 * @author yubaoshan
 * @date 2020/7/3 22:11
 */
export function smsPage (parameter) {
  return axios({
    url: '/sms/page',
    method: 'get',
    params: parameter
  })
}
/**
 * éªŒè¯çŸ­ä¿¡éªŒè¯ç 
 *
 * @author yubaoshan
 * @date 2020/7/3 22:12
 */
export function sysSendLoginMessage (parameter) {
  return axios({
    url: '/sms/sendLoginMessage',
    method: 'post',
    data: parameter
  })
}
/**
 * éªŒè¯çŸ­ä¿¡éªŒè¯ç 
 *
 * @author yubaoshan
 * @date 2020/7/3 22:12
 */
export function sysValidateMessage (parameter) {
  return axios({
    url: '/sms/validateMessage',
    method: 'post',
    data: parameter
  })
}
LA22A07_Front/src/api/modular/system/tenantManage.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,96 @@
/**
 * ç§Ÿæˆ·
 */
import {
  axios
} from '@/utils/request'
/**
 * ç§Ÿæˆ·åˆ—表
 *
 */
export function sysTenantPage(parameter) {
  return axios({
    url: '/sysTenant/page',
    method: 'get',
    params: parameter
  })
}
/**
 * æ–°å¢žç§Ÿæˆ·
 *
 */
export function sysTenantAdd(parameter) {
  return axios({
    url: '/sysTenant/add',
    method: 'post',
    data: parameter
  })
}
/**
 * åˆ é™¤ç§Ÿæˆ·
 *
 */
export function sysTenantDelete(parameter) {
  return axios({
    url: '/sysTenant/delete',
    method: 'post',
    data: parameter
  })
}
/**
 * ç¼–辑租户
 *
 */
export function sysTenantEdit(parameter) {
  return axios({
    url: '/sysTenant/edit',
    method: 'post',
    data: parameter
  })
}
/**
 * æ‹¥æœ‰èœå•
 *
 * @author zuohuaijun
 * @date 2021/04/22 10:30
 */
export function sysTenantOwnMenu (parameter) {
  return axios({
    url: '/sysTenant/ownMenu',
    method: 'get',
    params: parameter
  })
}
/**
 * æŽˆæƒèœå•
 *
 * @author zuohuaijun
 * @date 2021/04/22 10:30
 */
export function sysTenantGrantMenu (parameter) {
  return axios({
    url: '/sysTenant/grantMenu',
    method: 'post',
    data: parameter
  })
}
/**
 * é‡ç½®å¯†ç 
 *
 * @author zuohuaijun
 * @date 2021/04/22 11:00
 */
export function sysTenantResetPwd (parameter) {
  return axios({
    url: '/sysTenant/resetPwd',
    method: 'post',
    data: parameter
  })
}
LA22A07_Front/src/api/modular/system/timersManage.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,143 @@
import {
  axios
} from '@/utils/request'
/**
 * åˆ†é¡µæŸ¥è¯¢å®šæ—¶ä»»åŠ¡
 *
 * @author yubaoshan
 * @date 2020/7/3 03:13
 */
export function sysTimersPage(parameter) {
  return axios({
    url: '/sysTimers/page',
    method: 'get',
    params: parameter
  })
}
/**
 * èŽ·å–å…¨éƒ¨å®šæ—¶ä»»åŠ¡
 *
 * @author yubaoshan
 * @date 2020/7/3 03:23
 */
export function sysTimersList(parameter) {
  return axios({
    url: '/sysTimers/list',
    method: 'get',
    params: parameter
  })
}
/**
 * æŸ¥çœ‹è¯¦æƒ…定时任务
 *
 * @author yubaoshan
 * @date 2020/7/3 03:23
 */
export function sysTimersDetail(parameter) {
  return axios({
    url: '/sysTimers/detail',
    method: 'get',
    params: parameter
  })
}
/**
 * æ·»åŠ å®šæ—¶ä»»åŠ¡
 *
 * @author yubaoshan
 * @date 2020/7/3 03:23
 */
export function sysTimersAdd(parameter) {
  return axios({
    url: '/sysTimers/add',
    method: 'post',
    data: parameter
  })
}
/**
 * åˆ é™¤å®šæ—¶ä»»åŠ¡
 *
 * @author yubaoshan
 * @date 2020/7/3 03:23
 */
export function sysTimersDelete(parameter) {
  return axios({
    url: '/sysTimers/delete',
    method: 'post',
    data: parameter
  })
}
/**
 * ç¼–辑定时任务
 *
 * @author yubaoshan
 * @date 2020/7/3 03:23
 */
export function sysTimersEdit(parameter) {
  return axios({
    url: '/sysTimers/edit',
    method: 'post',
    data: parameter
  })
}
/**
 * èŽ·å–ç³»ç»Ÿçš„æ‰€æœ‰ä»»åŠ¡åˆ—è¡¨
 *
 * @author yubaoshan
 * @date 2020/7/3 03:23
 */
export function sysTimersGetActionClasses(parameter) {
  return axios({
    url: '/sysTimers/getActionClasses',
    method: 'post',
    data: parameter
  })
}
/**
 * å¯åŠ¨å®šæ—¶ä»»åŠ¡
 *
 * @author yubaoshan
 * @date 2020/7/3 03:23
 */
export function sysTimersStart(parameter) {
  return axios({
    url: '/sysTimers/start',
    method: 'post',
    data: parameter
  })
}
/**
 * åœæ­¢å®šæ—¶ä»»åŠ¡
 *
 * @author yubaoshan
 * @date 2020/7/3 03:23
 */
export function sysTimersStop(parameter) {
  return axios({
    url: '/sysTimers/stop',
    method: 'post',
    data: parameter
  })
}
/**
 * èŽ·å–æ‰€æœ‰æœ¬åœ°ä»»åŠ¡
 *
 * @author zuohuaijun
 * @date 2021/04/24 23:10
 */
export function sysTimersLocalJobList(parameter) {
  return axios({
    url: '/sysTimers/localJobList',
    method: 'get',
    data: parameter
  })
}
LA22A07_Front/src/api/modular/system/userManage.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,256 @@
import {
  axios
} from '@/utils/request'
/**
 * èŽ·å–ç”¨æˆ·åˆ—è¡¨
 *
 * @author yubaoshan
 * @date 2020/4/26 12:08
 */
export function getUserPage(parameter) {
  return axios({
    url: '/sysUser/page',
    method: 'get',
    params: parameter
  })
}
/**
 * å¢žåŠ ç”¨æˆ·
 *
 * @author yubaoshan
 * @date 2020/5/5 02:08
 */
export function sysUserAdd(parameter) {
  return axios({
    url: '/sysUser/add',
    method: 'post',
    data: parameter
  })
}
/**
 * ç¼–辑用户
 *
 * @author yubaoshan
 * @date 2020/5/5 02:08
 */
export function sysUserEdit(parameter) {
  return axios({
    url: '/sysUser/edit',
    method: 'post',
    data: parameter
  })
}
/**
 * èŽ·å–ç”¨æˆ·è¯¦æƒ…
 *
 * @author yubaoshan
 * @date 2020/5/5 19:55
 */
export function sysUserDetail(parameter) {
  return axios({
    url: '/sysUser/detail',
    method: 'get',
    params: parameter
  })
}
/**
 * åˆ é™¤ç”¨æˆ·
 *
 * @author yubaoshan
 * @date 2020/5/7 19:31
 */
export function sysUserDelete(parameter) {
  return axios({
    url: '/sysUser/delete',
    method: 'post',
    data: parameter
  })
}
/**
 * æ‹¥æœ‰è§’色
 *
 * @author yubaoshan
 * @date 2020/6/3 11:58
 */
export function sysUserOwnRole(parameter) {
  return axios({
    url: '/sysUser/ownRole',
    method: 'get',
    params: parameter
  })
}
/**
 * æŽˆæƒè§’色
 *
 * @author yubaoshan
 * @date 2020/5/26 23:59
 */
export function sysUserGrantRole(parameter) {
  return axios({
    url: '/sysUser/grantRole',
    method: 'post',
    data: parameter
  })
}
/**
 * æ‹¥æœ‰æ•°æ®
 *
 * @author yubaoshan
 * @date 2020/6/2 23:14
 */
export function sysUserOwnData(parameter) {
  return axios({
    url: '/sysUser/ownData',
    method: 'get',
    params: parameter
  })
}
/**
 * æŽˆæƒæ•°æ®
 *
 * @author yubaoshan
 * @date 2020/6/2 23:15
 */
export function sysUserGrantData(parameter) {
  return axios({
    url: '/sysUser/grantData',
    method: 'post',
    data: parameter
  })
}
/**
 * ä¿®æ”¹çŠ¶æ€
 *
 * @author yubaoshan
 * @date 2020/6/23 21:36
 */
export function sysUserChangeStatus(parameter) {
  return axios({
    url: '/sysUser/changeStatus',
    method: 'post',
    data: parameter
  })
}
/**
 * é‡ç½®å¯†ç 
 *
 * @author yubaoshan
 * @date 2020/6/23 22:04
 */
export function sysUserResetPwd(parameter) {
  return axios({
    url: '/sysUser/resetPwd',
    method: 'post',
    data: parameter
  })
}
/**
 * ä¿®æ”¹å¯†ç 
 *
 * @author yubaoshan
 * @date 2020/6/25 00:25
 */
export function sysUserUpdatePwd(parameter) {
  return axios({
    url: '/sysUser/updatePwd',
    method: 'post',
    data: parameter
  })
}
/**
 * ç”¨æˆ·é€‰æ‹©å™¨
 *
 * @author yubaoshan
 * @date 2020/6/25 00:25
 */
export function sysUserSelector(parameter) {
  return axios({
    url: '/sysUser/selector',
    method: 'get',
    params: parameter
  })
}
/**
 * èŽ·å–ç”¨æˆ·åˆ—è¡¨
 *
 * @author é£žè›¾æ•‘火
 * @date 2022/05/07
 */
 export function getUserList(parameter) {
  return axios({
    url: '/sysUser/userList',
    method: 'get',
    params: parameter
  })
}
/**
 * ä¿®æ”¹å¤´åƒ
 *
 * @author yubaoshan
 * @date 2020/9/20 2:21
 */
export function sysUserUpdateAvatar(parameter) {
  return axios({
    url: '/sysUser/updateAvatar',
    method: 'post',
    data: parameter
  })
}
/**
 * æ›´æ–°åŸºæœ¬ä¿¡æ¯
 *
 * @author yubaoshan
 * @date 2020/9/20 03:12
 */
export function sysUserUpdateInfo(parameter) {
  return axios({
    url: '/sysUser/updateInfo',
    method: 'post',
    data: parameter
  })
}
/**
 * å¯¼å‡ºç”¨æˆ·ä¿¡æ¯
 *
 * @author zuohuaijun
 * @date 2021/4/20 01:00
 */
export function sysUserExport(parameter) {
  return axios({
    url: '/sysUser/export',
    method: 'get',
    data: parameter,
    responseType: 'blob'
  })
}
/**
 * å¯¼å…¥ç”¨æˆ·ä¿¡æ¯
 *
 * @author zuohuaijun
 * @date 2021/4/20 01:00
 */
export function sysUserImport(parameter) {
  return axios({
    url: '/sysUser/import',
    method: 'post',
    data: parameter
  })
}
LA22A07_Front/src/api/modular/system/workflowManage.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,117 @@
import {
  axios
} from '@/utils/request'
// å·¥ä½œæµç›¸å…³API
/**
 * èŽ·å–æ­¥éª¤åˆ—è¡¨
 *
 * @author é£žè›¾æ•‘火
 * @date 2022/5/07
 */
 export function getAllStepBodyList(parameter) {
  return axios({
    url: '/stepBodyManage/allstepBody',
    method: 'get',
    params: parameter
  })
}
/**
 * èŽ·å–æµç¨‹å®šä¹‰åˆ—è¡¨
 *
 * @author é£žè›¾æ•‘火
 * @date 2022/5/06
 */
 export function getWorkflowDefinitionList(parameter) {
  return axios({
    url: '/workflowdefinition/page',
    method: 'get',
    params: parameter
  })
}
/**
 * æ·»åŠ å·¥ä½œæµ
 *
 * @author é£žè›¾æ•‘火
 * @date 2022/5/06
 */
 export function addWorkflowDefinition(parameter) {
  return axios({
    url: '/workflowdefinition/create',
    method: 'post',
    data: parameter
  })
}
/**
 * åˆ é™¤å·¥ä½œæµ
 *
 * @author é£žè›¾æ•‘火
 * @date 2022/5/07
 */
 export function deleteWorkflowDefinition(parameter) {
  return axios({
    url: '/workflowdefinition/delete',
    method: 'delete',
    data: parameter
  })
}
/**
 * æ›´æ–°å·¥ä½œæµ
 *
 * @author é£žè›¾æ•‘火
 * @date 2022/5/07
 */
 export function workflowUpdata(parameter) {
  return axios({
    url: '/workflowdefinition/update',
    method: 'post',
    data: parameter
  })
}
/**
 * æ ¹æ®id和版本获取工作流信息
 *
 * @author é£žè›¾æ•‘火
 * @date 2022/5/07
 */
export function getWorkflowByID(parameter) {
  return axios({
    url: '/workflowdefinition/workflow/',
    method: 'get',
    params: parameter
  })
}
/**
 * å‘起工作流
 *
 * @author é£žè›¾æ•‘火
 * @date 2022/5/10
 */
 export function startWorkflow(parameter) {
  return axios({
    url: '/workflowmanager/Start',
    method: 'post',
    data: parameter
  })
}
/**
 * èŽ·å–å·¥ä½œæµè¾“å…¥å‚æ•°
 *
 * @author é£žè›¾æ•‘火
 * @date 2022/5/10
 */
 export function inputsWorkflow(parameter) {
  return axios({
    url: '/workflowmanager/inputsparameter',
    method: 'get',
    params: parameter
  })
}
LA22A07_Front/src/assets/icons/bx-analyse.svg
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1551058675966" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="7872" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M85.333333 512h85.333334a340.736 340.736 0 0 1 99.712-241.621333 337.493333 337.493333 0 0 1 108.458666-72.96 346.453333 346.453333 0 0 1 261.546667-1.749334A106.154667 106.154667 0 0 0 746.666667 298.666667C805.802667 298.666667 853.333333 251.136 853.333333 192S805.802667 85.333333 746.666667 85.333333c-29.397333 0-55.978667 11.776-75.221334 30.933334-103.722667-41.514667-222.848-40.874667-325.76 2.517333a423.594667 423.594667 0 0 0-135.68 91.264 423.253333 423.253333 0 0 0-91.306666 135.637333A426.88 426.88 0 0 0 85.333333 512z m741.248 133.205333c-17.109333 40.618667-41.685333 77.141333-72.96 108.416s-67.797333 55.850667-108.458666 72.96a346.453333 346.453333 0 0 1-261.546667 1.749334A106.154667 106.154667 0 0 0 277.333333 725.333333C218.197333 725.333333 170.666667 772.864 170.666667 832S218.197333 938.666667 277.333333 938.666667c29.397333 0 55.978667-11.776 75.221334-30.933334A425.173333 425.173333 0 0 0 512 938.666667a425.941333 425.941333 0 0 0 393.258667-260.352A426.325333 426.325333 0 0 0 938.666667 512h-85.333334a341.034667 341.034667 0 0 1-26.752 133.205333z" p-id="7873"></path><path d="M512 318.378667c-106.752 0-193.621333 86.869333-193.621333 193.621333S405.248 705.621333 512 705.621333s193.621333-86.869333 193.621333-193.621333S618.752 318.378667 512 318.378667z m0 301.909333c-59.690667 0-108.288-48.597333-108.288-108.288S452.309333 403.712 512 403.712s108.288 48.597333 108.288 108.288-48.597333 108.288-108.288 108.288z" p-id="7874"></path></svg>
LA22A07_Front/src/assets/login_bk.png
LA22A07_Front/src/assets/logo.png
LA22A07_Front/src/assets/logo.svg
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,475 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="200px" height="200px" viewBox="0 0 200 200" enable-background="new 0 0 200 200" xml:space="preserve">  <image id="image0" width="200" height="200" x="0" y="0"
    href="data:image/png;base64,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
QGqIEFBEGAZQCrDWQikiCEJsWMMXOEkj0CXL/v3go2N/feX3jwTQqbnXopGIAHwI4B34bmLzAEQk
m73kalNih2eQ+on6jJ1WANoD+BqA0wAcC6BrYat2Qy/63q+WnHfWia327NW+7249e/QpKS4KAHQE
EDoLEIIg0PAFMQVaaWzUiSIW0CE+HD/tw+9887KaRbMmnt3ca9BAzAfwEXy5ppHwvV9quZMQzk7D
IF+atFIJ+AStvgCOhzcPHwAgWdy24/CzLv5W7cknHN75oD336XDggfsUh2HQBkB3/9sEaEAEPpNw
Q7ACIAOErcZf9Zu/rLj3lhvPau55bwGWA5gEL0qNADAXwHI2Y+prc2GnZJAvLYBSrQH0AtAbXgTb
G0B/AL333/+g90484aS4Z6+e7Tt268OvHXdC1LdrSXcAe669ggDiUJ+KrjUIDWsAzTSCZJvq518f
+uqVV3xnr+ryVYdBBStBaQ8wsWVP2uRYCK90T4cXoRYCWESyurkfrDmx0zPIulBKFQPolx+Hw4ex
9ATQM0wUfH7I8Wel99qjd9vWhbpfn179Zh559Okr9tunZ5tWBboN/AlUABgQgEOIkNl8k53Cxd+4
/Mo5zz/54CFQQaaFMEgNfD/JxfBm2tHw6c5zSLa4lt7NhV0MshEopfaAP032hWeW3eF1mHbJwpKV
XfvsVbHbbr1LStsX17Rr37HigMNPqjrkyKOCPt1aF3VJoRBejNsPAO544MlXf3n1Vf0kqt23GaYi
8LpDRf7PefBMMRXADJKzm3utWyp2MchmIq+37AUvXvWDZ5z+8AxTDMC1ate5tnO3HkFJq+JEYSqB
QAerC4uKqvr0339NeW084+0XHv5mpmrN3k38qDn4vJkMvK+iHF50mgF/QswCMHNn1Ccagl0M0ggo
pdrBM00/+NNlN3hdpg+8aTkEEECHURCEgbi4NUUCePPXJsxgX4KsM9x6o64RegSfb7EQ3vI0D54h
ZpKsaO612l6xi0G2MvLh+F3grV7d8j93gfeDlAJoBx8n1gZAUX4UwDs110WML58GVfCduirgi1ms
ArASwAoAy+AtT8u4vYWTt3D8P2RNhTy+FLnBAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTAzLTIz
VDAwOjE2OjE3KzA4OjAwRT8Z1gAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMS0wMy0yM1QwMDoxNjox
NyswODowMDRioWoAAAAgdEVYdHNvZnR3YXJlAGh0dHBzOi8vaW1hZ2VtYWdpY2sub3JnvM8dnQAA
ABh0RVh0VGh1bWI6OkRvY3VtZW50OjpQYWdlcwAxp/+7LwAAABh0RVh0VGh1bWI6OkltYWdlOjpI
ZWlnaHQAMjAwfdcVaQAAABd0RVh0VGh1bWI6OkltYWdlOjpXaWR0aAAyMDDuJkU0AAAAGXRFWHRU
aHVtYjo6TWltZXR5cGUAaW1hZ2UvcG5nP7JWTgAAABd0RVh0VGh1bWI6Ok1UaW1lADE2MTY0Mjk3
NzflRgHaAAAAE3RFWHRUaHVtYjo6U2l6ZQAyNjIzMUJCmx8L0gAAAEZ0RVh0VGh1bWI6OlVSSQBm
aWxlOi8vL2FwcC90bXAvaW1hZ2VsYy9pbWd2aWV3Ml85XzE2MDk5MDM1MTIwMjM1NTYwXzIwX1sw
Xcveen0AAAAASUVORK5CYII=" ></image>
</svg>
LA22A07_Front/src/assets/logo2.jpg
LA22A07_Front/src/assets/logo3.jpg
LA22A07_Front/src/assets/logo4.png
LA22A07_Front/src/assets/notice.png
LA22A07_Front/src/assets/welcome.png
LA22A07_Front/src/components/ArticleListContent/ArticleListContent.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,89 @@
<template>
  <div class="antd-pro-components-article-list-content-index-listContent">
    <div class="description">
      <slot>
        {{ description }}
      </slot>
    </div>
    <div class="extra">
      <a-avatar :src="avatar" size="small" />
      <a :href="href">{{ owner }}</a> å‘布在 <a :href="href">{{ href }}</a>
      <em>{{ updateAt | moment }}</em>
    </div>
  </div>
</template>
<script>
export default {
  name: 'ArticleListContent',
  props: {
    prefixCls: {
      type: String,
      default: 'antd-pro-components-article-list-content-index-listContent'
    },
    description: {
      type: String,
      default: ''
    },
    owner: {
      type: String,
      required: true
    },
    avatar: {
      type: String,
      required: true
    },
    href: {
      type: String,
      required: true
    },
    updateAt: {
      type: String,
      required: true
    }
  }
}
</script>
<style lang="less" scoped>
@import '../index.less';
.antd-pro-components-article-list-content-index-listContent {
  .description {
    max-width: 720px;
    line-height: 22px;
  }
  .extra {
    margin-top: 16px;
    color: @text-color-secondary;
    line-height: 22px;
    & /deep/ .ant-avatar {
      position: relative;
      top: 1px;
      width: 20px;
      height: 20px;
      margin-right: 8px;
      vertical-align: top;
    }
    & > em {
      margin-left: 16px;
      color: @disabled-color;
      font-style: normal;
    }
  }
}
@media screen and (max-width: @screen-xs) {
  .antd-pro-components-article-list-content-index-listContent {
    .extra {
      & > em {
        display: block;
        margin-top: 8px;
        margin-left: 0;
      }
    }
  }
}
</style>
LA22A07_Front/src/components/ArticleListContent/index.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,3 @@
import ArticleListContent from './ArticleListContent'
export default ArticleListContent
LA22A07_Front/src/components/AvatarList/Item.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,46 @@
<template>
  <tooltip v-if="tips !== ''">
    <template slot="title">{{ tips }}</template>
    <avatar :size="avatarSize" :src="src" />
  </tooltip>
  <avatar v-else :size="avatarSize" :src="src" />
</template>
<script>
import Avatar from 'ant-design-vue/es/avatar'
import Tooltip from 'ant-design-vue/es/tooltip'
export default {
  name: 'AvatarItem',
  components: {
    Avatar,
    Tooltip
  },
  props: {
    tips: {
      type: String,
      default: '',
      required: false
    },
    src: {
      type: String,
      default: ''
    }
  },
  data () {
    return {
      size: this.$parent.size
    }
  },
  computed: {
    avatarSize () {
      return this.size !== 'mini' && this.size || 20
    }
  },
  watch: {
    '$parent.size' (val) {
      this.size = val
    }
  }
}
</script>
LA22A07_Front/src/components/AvatarList/List.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,99 @@
<!--
<template>
  <div :class="[prefixCls]">
    <ul>
      <slot></slot>
      <template v-for="item in filterEmpty($slots.default).slice(0, 3)"></template>
      <template v-if="maxLength > 0 && filterEmpty($slots.default).length > maxLength">
        <avatar-item :size="size">
          <avatar :size="size !== 'mini' && size || 20" :style="excessItemsStyle">{{ `+${maxLength}` }}</avatar>
        </avatar-item>
      </template>
    </ul>
  </div>
</template>
-->
<script>
import Avatar from 'ant-design-vue/es/avatar'
import AvatarItem from './Item'
import { filterEmpty } from '@/components/_util/util'
export default {
  AvatarItem,
  name: 'AvatarList',
  components: {
    Avatar,
    AvatarItem
  },
  props: {
    prefixCls: {
      type: String,
      default: 'ant-pro-avatar-list'
    },
    /**
       * å¤´åƒå¤§å° ç±»åž‹: large、small ã€mini, default
       * é»˜è®¤å€¼: default
       */
    size: {
      type: [String, Number],
      default: 'default'
    },
    /**
       * è¦æ˜¾ç¤ºçš„æœ€å¤§é¡¹ç›®
       */
    maxLength: {
      type: Number,
      default: 0
    },
    /**
       * å¤šä½™çš„项目风格
       */
    excessItemsStyle: {
      type: Object,
      default: () => {
        return {
          color: '#f56a00',
          backgroundColor: '#fde3cf'
        }
      }
    }
  },
  data () {
    return {}
  },
  methods: {
    getItems (items) {
      const classString = {
        [`${this.prefixCls}-item`]: true,
        [`${this.size}`]: true
      }
      if (this.maxLength > 0) {
        items = items.slice(0, this.maxLength)
        items.push((<Avatar size={ this.size } style={ this.excessItemsStyle }>{`+${this.maxLength}`}</Avatar>))
      }
      const itemList = items.map((item) => (
        <li class={ classString }>{ item }</li>
      ))
      return itemList
    }
  },
  render () {
    const { prefixCls, size } = this.$props
    const classString = {
      [`${prefixCls}`]: true,
      [`${size}`]: true
    }
    const items = filterEmpty(this.$slots.default)
    const itemsDom = items && items.length ? <ul class={`${prefixCls}-items`}>{ this.getItems(items) }</ul> : null
    return (
      <div class={ classString }>
        { itemsDom }
      </div>
    )
  }
}
</script>
LA22A07_Front/src/components/AvatarList/index.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,4 @@
import AvatarList from './List'
import './index.less'
export default AvatarList
LA22A07_Front/src/components/AvatarList/index.less
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,60 @@
@import "../index";
@avatar-list-prefix-cls: ~"@{ant-pro-prefix}-avatar-list";
@avatar-list-item-prefix-cls: ~"@{ant-pro-prefix}-avatar-list-item";
.@{avatar-list-prefix-cls} {
  display: inline-block;
  ul {
    list-style: none;
    display: inline-block;
    padding: 0;
    margin: 0 0 0 8px;
    font-size: 0;
  }
}
.@{avatar-list-item-prefix-cls} {
  display: inline-block;
  font-size: @font-size-base;
  margin-left: -8px;
  width: @avatar-size-base;
  height: @avatar-size-base;
  :global {
    .ant-avatar {
      border: 1px solid #fff;
      cursor: pointer;
    }
  }
  &.large {
    width: @avatar-size-lg;
    height: @avatar-size-lg;
  }
  &.small {
    width: @avatar-size-sm;
    height: @avatar-size-sm;
  }
  &.mini {
    width: 20px;
    height: 20px;
    :global {
      .ant-avatar {
        width: 20px;
        height: 20px;
        line-height: 20px;
        .ant-avatar-string {
          font-size: 12px;
          line-height: 18px;
        }
      }
    }
  }
}
LA22A07_Front/src/components/AvatarList/index.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,64 @@
# AvatarList ç”¨æˆ·å¤´åƒåˆ—表
一组用户头像,常用在项目/团队成员列表。可通过设置 `size` å±žæ€§æ¥æŒ‡å®šå¤´åƒå¤§å°ã€‚
引用方式:
```javascript
import AvatarList from '@/components/AvatarList'
const AvatarListItem = AvatarList.AvatarItem
export default {
    components: {
        AvatarList,
        AvatarListItem
    }
}
```
## ä»£ç æ¼”示  [demo](https://pro.loacg.com/test/home)
```html
<avatar-list size="mini">
    <avatar-list-item tips="Jake" src="https://gw.alipayobjects.com/zos/rmsportal/zOsKZmFRdUtvpqCImOVY.png" />
    <avatar-list-item tips="Andy" src="https://gw.alipayobjects.com/zos/rmsportal/sfjbOqnsXXJgNCjCzDBL.png" />
    <avatar-list-item tips="Niko" src="https://gw.alipayobjects.com/zos/rmsportal/kZzEzemZyKLKFsojXItE.png" />
</avatar-list>
```
或
```html
<avatar-list :max-length="3">
    <avatar-list-item tips="Jake" src="https://gw.alipayobjects.com/zos/rmsportal/zOsKZmFRdUtvpqCImOVY.png" />
    <avatar-list-item tips="Andy" src="https://gw.alipayobjects.com/zos/rmsportal/sfjbOqnsXXJgNCjCzDBL.png" />
    <avatar-list-item tips="Niko" src="https://gw.alipayobjects.com/zos/rmsportal/kZzEzemZyKLKFsojXItE.png" />
    <avatar-list-item tips="Niko" src="https://gw.alipayobjects.com/zos/rmsportal/kZzEzemZyKLKFsojXItE.png" />
    <avatar-list-item tips="Niko" src="https://gw.alipayobjects.com/zos/rmsportal/kZzEzemZyKLKFsojXItE.png" />
    <avatar-list-item tips="Niko" src="https://gw.alipayobjects.com/zos/rmsportal/kZzEzemZyKLKFsojXItE.png" />
    <avatar-list-item tips="Niko" src="https://gw.alipayobjects.com/zos/rmsportal/kZzEzemZyKLKFsojXItE.png" />
</avatar-list>
```
## API
### AvatarList
| å‚æ•°               | è¯´æ˜Ž       | ç±»åž‹                                 | é»˜è®¤å€¼       |
| ---------------- | -------- | ---------------------------------- | --------- |
| size             | å¤´åƒå¤§å°     | `large`、`small` ã€`mini`, `default` | `default` |
| maxLength        | è¦æ˜¾ç¤ºçš„æœ€å¤§é¡¹ç›® | number                             | -         |
| excessItemsStyle | å¤šä½™çš„项目风格  | CSSProperties                      | -         |
### AvatarList.Item
| å‚æ•°   | è¯´æ˜Ž     | ç±»åž‹        | é»˜è®¤å€¼ |
| ---- | ------ | --------- | --- |
| tips | å¤´åƒå±•示文案 | string | -   |
| src  | å¤´åƒå›¾ç‰‡è¿žæŽ¥ | string    | -   |
LA22A07_Front/src/components/Charts/Bar.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,62 @@
<template>
  <div :style="{ padding: '0 0 32px 32px' }">
    <h4 :style="{ marginBottom: '20px' }">{{ title }}</h4>
    <v-chart
      height="254"
      :data="data"
      :forceFit="true"
      :padding="['auto', 'auto', '40', '50']">
      <v-tooltip />
      <v-axis />
      <v-bar position="x*y"/>
    </v-chart>
  </div>
</template>
<script>
export default {
  name: 'Bar',
  props: {
    title: {
      type: String,
      default: ''
    },
    data: {
      type: Array,
      default: () => {
        return []
      }
    },
    scale: {
      type: Array,
      default: () => {
        return [{
          dataKey: 'x',
          min: 2
        }, {
          dataKey: 'y',
          title: '时间',
          min: 1,
          max: 22
        }]
      }
    },
    tooltip: {
      type: Array,
      default: () => {
        return [
          'x*y',
          (x, y) => ({
            name: x,
            value: y
          })
        ]
      }
    }
  },
  data () {
    return {
    }
  }
}
</script>
LA22A07_Front/src/components/Charts/ChartCard.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,120 @@
<template>
  <a-card :loading="loading" :body-style="{ padding: '20px 24px 8px' }" :bordered="false">
    <div class="chart-card-header">
      <div class="meta">
        <span class="chart-card-title">
          <slot name="title">
            {{ title }}
          </slot>
        </span>
        <span class="chart-card-action">
          <slot name="action"></slot>
        </span>
      </div>
      <div class="total">
        <slot name="total">
          <span>{{ typeof total === 'function' && total() || total }}</span>
        </slot>
      </div>
    </div>
    <div class="chart-card-content">
      <div class="content-fix">
        <slot></slot>
      </div>
    </div>
    <div class="chart-card-footer">
      <div class="field">
        <slot name="footer"></slot>
      </div>
    </div>
  </a-card>
</template>
<script>
export default {
  name: 'ChartCard',
  props: {
    title: {
      type: String,
      default: ''
    },
    total: {
      type: [Function, Number, String],
      required: false,
      default: null
    },
    loading: {
      type: Boolean,
      default: false
    }
  }
}
</script>
<style lang="less" scoped>
  .chart-card-header {
    position: relative;
    overflow: hidden;
    width: 100%;
    .meta {
      position: relative;
      overflow: hidden;
      width: 100%;
      color: rgba(0, 0, 0, .45);
      font-size: 14px;
      line-height: 22px;
    }
  }
  .chart-card-action {
    cursor: pointer;
    position: absolute;
    top: 0;
    right: 0;
  }
  .chart-card-footer {
    border-top: 1px solid #e8e8e8;
    padding-top: 9px;
    margin-top: 8px;
    > * {
      position: relative;
    }
    .field {
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      margin: 0;
    }
  }
  .chart-card-content {
    margin-bottom: 12px;
    position: relative;
    height: 46px;
    width: 100%;
    .content-fix {
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%;
    }
  }
  .total {
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-all;
    white-space: nowrap;
    color: #000;
    margin-top: 4px;
    margin-bottom: 0;
    font-size: 30px;
    line-height: 38px;
    height: 38px;
  }
</style>
LA22A07_Front/src/components/Charts/Liquid.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,67 @@
<template>
  <div>
    <v-chart
      :forceFit="true"
      :height="height"
      :width="width"
      :data="data"
      :scale="scale"
      :padding="0">
      <v-tooltip />
      <v-interval
        :shape="['liquid-fill-gauge']"
        position="transfer*value"
        color=""
        :v-style="{
          lineWidth: 10,
          opacity: 0.75
        }"
        :tooltip="[
          'transfer*value',
          (transfer, value) => {
            return {
              name: transfer,
              value,
            };
          },
        ]"
      ></v-interval>
      <v-guide
        v-for="(row, index) in data"
        :key="index"
        type="text"
        :top="true"
        :position="{
          gender: row.transfer,
          value: 45
        }"
        :content="row.value + '%'"
        :v-style="{
          fontSize: 100,
          textAlign: 'center',
          opacity: 0.75,
        }"
      />
    </v-chart>
  </div>
</template>
<script>
export default {
  name: 'Liquid',
  props: {
    height: {
      type: Number,
      default: 0
    },
    width: {
      type: Number,
      default: 0
    }
  }
}
</script>
<style scoped>
</style>
LA22A07_Front/src/components/Charts/MiniArea.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,56 @@
<template>
  <div class="antv-chart-mini">
    <div class="chart-wrapper" :style="{ height: 46 }">
      <v-chart :force-fit="true" :height="height" :data="data" :padding="[36, 0, 18, 0]">
        <v-tooltip />
        <v-smooth-area position="x*y" />
      </v-chart>
    </div>
  </div>
</template>
<script>
import moment from 'moment'
const data = []
const beginDay = new Date().getTime()
for (let i = 0; i < 10; i++) {
  data.push({
    x: moment(new Date(beginDay + 1000 * 60 * 60 * 24 * i)).format('YYYY-MM-DD'),
    y: Math.round(Math.random() * 10)
  })
}
const tooltip = [
  'x*y',
  (x, y) => ({
    name: x,
    value: y
  })
]
const scale = [{
  dataKey: 'x',
  min: 2
}, {
  dataKey: 'y',
  title: '时间',
  min: 1,
  max: 22
}]
export default {
  name: 'MiniArea',
  data () {
    return {
      data,
      tooltip,
      scale,
      height: 100
    }
  }
}
</script>
<style lang="less" scoped>
  @import "chart";
</style>
LA22A07_Front/src/components/Charts/MiniBar.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,57 @@
<template>
  <div class="antv-chart-mini">
    <div class="chart-wrapper" :style="{ height: 46 }">
      <v-chart :force-fit="true" :height="height" :data="data" :padding="[36, 5, 18, 5]">
        <v-tooltip />
        <v-bar position="x*y" />
      </v-chart>
    </div>
  </div>
</template>
<script>
import moment from 'moment'
const data = []
const beginDay = new Date().getTime()
for (let i = 0; i < 10; i++) {
  data.push({
    x: moment(new Date(beginDay + 1000 * 60 * 60 * 24 * i)).format('YYYY-MM-DD'),
    y: Math.round(Math.random() * 10)
  })
}
const tooltip = [
  'x*y',
  (x, y) => ({
    name: x,
    value: y
  })
]
const scale = [{
  dataKey: 'x',
  min: 2
}, {
  dataKey: 'y',
  title: '时间',
  min: 1,
  max: 30
}]
export default {
  name: 'MiniBar',
  data () {
    return {
      data,
      tooltip,
      scale,
      height: 100
    }
  }
}
</script>
<style lang="less" scoped>
  @import "chart";
</style>
LA22A07_Front/src/components/Charts/MiniProgress.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,75 @@
<template>
  <div class="chart-mini-progress">
    <div class="target" :style="{ left: target + '%'}">
      <span :style="{ backgroundColor: color }" />
      <span :style="{ backgroundColor: color }"/>
    </div>
    <div class="progress-wrapper">
      <div class="progress" :style="{ backgroundColor: color, width: percentage + '%', height: height }"></div>
    </div>
  </div>
</template>
<script>
export default {
  name: 'MiniProgress',
  props: {
    target: {
      type: Number,
      default: 0
    },
    height: {
      type: String,
      default: '10px'
    },
    color: {
      type: String,
      default: '#13C2C2'
    },
    percentage: {
      type: Number,
      default: 0
    }
  }
}
</script>
<style lang="less" scoped>
  .chart-mini-progress {
    padding: 5px 0;
    position: relative;
    width: 100%;
    .target {
      position: absolute;
      top: 0;
      bottom: 0;
      span {
        border-radius: 100px;
        position: absolute;
        top: 0;
        left: 0;
        height: 4px;
        width: 2px;
        &:last-child {
          top: auto;
          bottom: 0;
        }
      }
    }
    .progress-wrapper {
      background-color: #f5f5f5;
      position: relative;
      .progress {
        transition: all .4s cubic-bezier(.08,.82,.17,1) 0s;
        border-radius: 1px 0 0 1px;
        background-color: #1890ff;
        width: 0;
        height: 100%;
      }
    }
  }
</style>
LA22A07_Front/src/components/Charts/MiniSmoothArea.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,40 @@
<template>
  <div :class="prefixCls">
    <div class="chart-wrapper" :style="{ height: 46 }">
      <v-chart :force-fit="true" :height="100" :data="dataSource" :scale="scale" :padding="[36, 0, 18, 0]">
        <v-tooltip />
        <v-smooth-line position="x*y" :size="2" />
        <v-smooth-area position="x*y" />
      </v-chart>
    </div>
  </div>
</template>
<script>
export default {
  name: 'MiniSmoothArea',
  props: {
    prefixCls: {
      type: String,
      default: 'ant-pro-smooth-area'
    },
    scale: {
      type: [Object, Array],
      required: true
    },
    dataSource: {
      type: Array,
      required: true
    }
  },
  data () {
    return {
      height: 100
    }
  }
}
</script>
<style lang="less" scoped>
  @import "smooth.area.less";
</style>
LA22A07_Front/src/components/Charts/Radar.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,68 @@
<template>
  <v-chart :forceFit="true" height="400" :data="data" :padding="[20, 20, 95, 20]" :scale="scale">
    <v-tooltip></v-tooltip>
    <v-axis :dataKey="axis1Opts.dataKey" :line="axis1Opts.line" :tickLine="axis1Opts.tickLine" :grid="axis1Opts.grid" />
    <v-axis :dataKey="axis2Opts.dataKey" :line="axis2Opts.line" :tickLine="axis2Opts.tickLine" :grid="axis2Opts.grid" />
    <v-legend dataKey="user" marker="circle" :offset="30" />
    <v-coord type="polar" radius="0.8" />
    <v-line position="item*score" color="user" :size="2" />
    <v-point position="item*score" color="user" :size="4" shape="circle" />
  </v-chart>
</template>
<script>
const axis1Opts = {
  dataKey: 'item',
  line: null,
  tickLine: null,
  grid: {
    lineStyle: {
      lineDash: null
    },
    hideFirstLine: false
  }
}
const axis2Opts = {
  dataKey: 'score',
  line: null,
  tickLine: null,
  grid: {
    type: 'polygon',
    lineStyle: {
      lineDash: null
    }
  }
}
const scale = [
  {
    dataKey: 'score',
    min: 0,
    max: 80
  }, {
    dataKey: 'user',
    alias: '类型'
  }
]
export default {
  name: 'Radar',
  props: {
    data: {
      type: Array,
      default: null
    }
  },
  data () {
    return {
      axis1Opts,
      axis2Opts,
      scale
    }
  }
}
</script>
<style scoped>
</style>
LA22A07_Front/src/components/Charts/RankList.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,77 @@
<template>
  <div class="rank">
    <h4 class="title">{{ title }}</h4>
    <ul class="list">
      <li :key="index" v-for="(item, index) in list">
        <span :class="index < 3 ? 'active' : null">{{ index + 1 }}</span>
        <span>{{ item.name }}</span>
        <span>{{ item.total }}</span>
      </li>
    </ul>
  </div>
</template>
<script>
export default {
  name: 'RankList',
  // ['title', 'list']
  props: {
    title: {
      type: String,
      default: ''
    },
    list: {
      type: Array,
      default: null
    }
  }
}
</script>
<style lang="less" scoped>
  .rank {
    padding: 0 32px 32px 72px;
    .list {
      margin: 25px 0 0;
      padding: 0;
      list-style: none;
      li {
        margin-top: 16px;
        span {
          color: rgba(0, 0, 0, .65);
          font-size: 14px;
          line-height: 22px;
          &:first-child {
            background-color: #f5f5f5;
            border-radius: 20px;
            display: inline-block;
            font-size: 12px;
            font-weight: 600;
            margin-right: 24px;
            height: 20px;
            line-height: 20px;
            width: 20px;
            text-align: center;
          }
          &.active {
            background-color: #314659;
            color: #fff;
          }
          &:last-child {
            float: right;
          }
        }
      }
    }
  }
  .mobile .rank {
    padding: 0 32px 32px 32px;
  }
</style>
LA22A07_Front/src/components/Charts/TagCloud.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,113 @@
<template>
  <v-chart :width="width" :height="height" :padding="[0]" :data="data" :scale="scale">
    <v-tooltip :show-title="false" />
    <v-coord type="rect" direction="TL" />
    <v-point position="x*y" color="category" shape="cloud" tooltip="value*category" />
  </v-chart>
</template>
<script>
import { registerShape } from 'viser-vue'
const DataSet = require('@antv/data-set')
const imgUrl = 'https://gw.alipayobjects.com/zos/rmsportal/gWyeGLCdFFRavBGIDzWk.png'
const scale = [
  { dataKey: 'x', nice: false },
  { dataKey: 'y', nice: false }
]
registerShape('point', 'cloud', {
  draw (cfg, container) {
    return container.addShape('text', {
      attrs: {
        fillOpacity: cfg.opacity,
        fontSize: cfg.origin._origin.size,
        rotate: cfg.origin._origin.rotate,
        text: cfg.origin._origin.text,
        textAlign: 'center',
        fontFamily: cfg.origin._origin.font,
        fill: cfg.color,
        textBaseline: 'Alphabetic',
        ...cfg.style,
        x: cfg.x,
        y: cfg.y
      }
    })
  }
})
export default {
  name: 'TagCloud',
  props: {
    tagList: {
      type: Array,
      required: true
    },
    height: {
      type: Number,
      default: 400
    },
    width: {
      type: Number,
      default: 640
    }
  },
  data () {
    return {
      data: [],
      scale
    }
  },
  watch: {
    tagList: function (val) {
      if (val.length > 0) {
        this.initTagCloud(val)
      }
    }
  },
  mounted () {
    if (this.tagList.length > 0) {
      this.initTagCloud(this.tagList)
    }
  },
  methods: {
    initTagCloud (dataSource) {
      const { height, width } = this
      const dv = new DataSet.View().source(dataSource)
      const range = dv.range('value')
      const min = range[0]
      const max = range[1]
      const imageMask = new Image()
      imageMask.crossOrigin = ''
      imageMask.src = imgUrl
      imageMask.onload = () => {
        dv.transform({
          type: 'tag-cloud',
          fields: ['name', 'value'],
          size: [width, height],
          imageMask,
          font: 'Verdana',
          padding: 0,
          timeInterval: 5000, // max execute time
          rotate () {
            let random = ~~(Math.random() * 4) % 4
            if (random === 2) {
              random = 0
            }
            return random * 90 // 0, 90, 270
          },
          fontSize (d) {
            if (d.value) {
              return ((d.value - min) / (max - min)) * (32 - 8) + 8
            }
            return 0
          }
        })
        this.data = dv.rows
      }
    }
  }
}
</script>
LA22A07_Front/src/components/Charts/TransferBar.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,64 @@
<template>
  <div :style="{ padding: '0 0 32px 32px' }">
    <h4 :style="{ marginBottom: '20px' }">{{ title }}</h4>
    <v-chart
      height="254"
      :data="data"
      :scale="scale"
      :forceFit="true"
      :padding="['auto', 'auto', '40', '50']">
      <v-tooltip />
      <v-axis />
      <v-bar position="x*y"/>
    </v-chart>
  </div>
</template>
<script>
const tooltip = [
  'x*y',
  (x, y) => ({
    name: x,
    value: y
  })
]
const scale = [{
  dataKey: 'x',
  title: '日期(天)',
  alias: '日期(天)',
  min: 2
}, {
  dataKey: 'y',
  title: '流量(Gb)',
  alias: '流量(Gb)',
  min: 1
}]
export default {
  name: 'Bar',
  props: {
    title: {
      type: String,
      default: ''
    }
  },
  data () {
    return {
      data: [],
      scale,
      tooltip
    }
  },
  created () {
    this.getMonthBar()
  },
  methods: {
    getMonthBar () {
      this.$http.get('/analysis/month-bar')
        .then(res => {
          this.data = res.result
        })
    }
  }
}
</script>
LA22A07_Front/src/components/Charts/Trend.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,82 @@
<template>
  <div class="chart-trend">
    {{ term }}
    <span>{{ rate }}%</span>
    <span :class="['trend-icon', trend]"><a-icon :type="'caret-' + trend"/></span>
  </div>
</template>
<script>
export default {
  name: 'Trend',
  props: {
    term: {
      type: String,
      default: '',
      required: true
    },
    percentage: {
      type: Number,
      default: null
    },
    type: {
      type: Boolean,
      default: null
    },
    target: {
      type: Number,
      default: 0
    },
    value: {
      type: Number,
      default: 0
    },
    fixed: {
      type: Number,
      default: 2
    }
  },
  data () {
    return {
      trend: this.type && 'up' || 'down',
      rate: this.percentage
    }
  },
  created () {
    const type = this.type === null ? this.value >= this.target : this.type
    this.trend = type ? 'up' : 'down'
    this.rate = (this.percentage === null ? Math.abs(this.value - this.target) * 100 / this.target : this.percentage).toFixed(this.fixed)
  }
}
</script>
<style lang="less" scoped>
  .chart-trend {
    display: inline-block;
    font-size: 14px;
    line-height: 22px;
    .trend-icon {
      font-size: 12px;
      &.up, &.down {
        margin-left: 4px;
        position: relative;
        top: 1px;
        i {
          font-size: 12px;
          transform: scale(.83);
        }
      }
      &.up {
        color: #f5222d;
      }
      &.down {
        color: #52c41a;
        top: -1px;
      }
    }
  }
</style>
LA22A07_Front/src/components/Charts/chart.less
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
.antv-chart-mini {
  position: relative;
  width: 100%;
  .chart-wrapper {
    position: absolute;
    bottom: -28px;
    width: 100%;
/*    margin: 0 -5px;
    overflow: hidden;*/
  }
}
LA22A07_Front/src/components/Charts/smooth.area.less
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,14 @@
@import "../index";
@smoothArea-prefix-cls: ~"@{ant-pro-prefix}-smooth-area";
.@{smoothArea-prefix-cls} {
    position: relative;
    width: 100%;
    .chart-wrapper {
        position: absolute;
        bottom: -28px;
        width: 100%;
    }
}
LA22A07_Front/src/components/ChooseSiteModal.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,104 @@
<template>
  <a-modal :title="title" v-model="innerVisible" @ok="onConfirm">
    <a-form :form="form" :label-col="{ span: 4 }" :wrapper-col="{ span: 20 }">
      <a-form-item :label="labelText">
        <a-select v-decorator="rule" placeholder="请选择..." >
          <a-select-option v-for="(item,index) in sites" :key="'site-sel-'+index" :value="item">{{ item }}</a-select-option>
        </a-select>
      </a-form-item>
    </a-form>
  </a-modal>
</template>
<script>
import { BindEntranceGetSelects } from '@/api/modular/main/BindEntranceManage'
export default {
  name:'wmsSiteChooseModal',
  emits:['update:visible','confirm'],
  props:{
    type:{
      type:String,
      default:'in'
    },
    visible:{
      type:Boolean,
      default:false
    }
  },
  data(){
    return {
      title:'',
      labelText:'',
      innerVisible:false,
      form: this.$form.createForm(this, { name: 'choose-site-form' }),
      sites:[],
      rule:['site',{rules:[
        { required: true, message: '' }
      ]}]
    }
  },
  watch:{
    visible(newVal,oldVal){
      this.changeInnerVisible()
    },
    innerVisible(newVal,oldVal){
      this.changeVisible()
    }
  },
  methods:{
    changeInnerVisible(){
      if (this.visible!==this.innerVisible){
        this.innerVisible = this.visible
        if (this.innerVisible) {
          this.$nextTick(()=>{
            this.opened()
          })
        }
      }
    },
    changeVisible(){
      if (this.innerVisible!==this.visible){
        this.$emit('update:visible',this.innerVisible)
      }
    },
    opened(){
      this.initText()
      this.getSites()
    },
    initText(){
      if (this.type==='in') {
        this.title="入库口选择"
        this.labelText = "入库口"
        this.rule[1].rules[0].message = "请选择入库口"
      } else {
        this.title="出库口选择"
        this.labelText = "出库口"
         this.rule[1].rules[0].message = "请选择出库口"
      }
    },
    getSites(){
      if (this.sites.length===0) {
        BindEntranceGetSelects().then(d=>{
          this.sites = d.data || []
        }).catch(()=>{
        })
      }
    },
    onConfirm(){
      this.form.validateFields((err, values) => {
        if (!err) {
          this.innerVisible = false;
          this.$emit('confirm',values.site)
        }
      });
    }
  },
  created(){
    this.changeInnerVisible()
  }
}
</script>
<style>
</style>
LA22A07_Front/src/components/CountDown/CountDown.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,102 @@
<template>
  <span>
    {{ lastTime | format }}
  </span>
</template>
<script>
function fixedZero (val) {
  return val * 1 < 10 ? `0${val}` : val
}
export default {
  name: 'CountDown',
  props: {
    format: {
      type: Function,
      default: undefined
    },
    target: {
      type: [Date, Number],
      required: true
    },
    onEnd: {
      type: Function,
      default: () => ({})
    }
  },
  data () {
    return {
      dateTime: '0',
      originTargetTime: 0,
      lastTime: 0,
      timer: 0,
      interval: 1000
    }
  },
  filters: {
    format (time) {
      const hours = 60 * 60 * 1000
      const minutes = 60 * 1000
      const h = Math.floor(time / hours)
      const m = Math.floor((time - h * hours) / minutes)
      const s = Math.floor((time - h * hours - m * minutes) / 1000)
      return `${fixedZero(h)}:${fixedZero(m)}:${fixedZero(s)}`
    }
  },
  created () {
    this.initTime()
    this.tick()
  },
  methods: {
    initTime () {
      let lastTime = 0
      let targetTime = 0
      this.originTargetTime = this.target
      try {
        if (Object.prototype.toString.call(this.target) === '[object Date]') {
          targetTime = this.target
        } else {
          targetTime = new Date(this.target).getTime()
        }
      } catch (e) {
        throw new Error('invalid target prop')
      }
      lastTime = targetTime - new Date().getTime()
      this.lastTime = lastTime < 0 ? 0 : lastTime
    },
    tick () {
      const { onEnd } = this
      this.timer = setTimeout(() => {
        if (this.lastTime < this.interval) {
          clearTimeout(this.timer)
          this.lastTime = 0
          if (typeof onEnd === 'function') {
            onEnd()
          }
        } else {
          this.lastTime -= this.interval
          this.tick()
        }
      }, this.interval)
    }
  },
  beforeUpdate () {
    if (this.originTargetTime !== this.target) {
      this.initTime()
    }
  },
  beforeDestroy () {
    clearTimeout(this.timer)
  }
}
</script>
<style scoped>
</style>
LA22A07_Front/src/components/CountDown/index.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,3 @@
import CountDown from './CountDown'
export default CountDown
LA22A07_Front/src/components/CountDown/index.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,34 @@
# CountDown å€’计时
倒计时组件。
引用方式:
```javascript
import CountDown from '@/components/CountDown/CountDown'
export default {
    components: {
        CountDown
    }
}
```
## ä»£ç æ¼”示  [demo](https://pro.loacg.com/test/home)
```html
<count-down :target="new Date().getTime() + 3000000" :on-end="onEndHandle" />
```
## API
| å‚æ•°      | è¯´æ˜Ž                                      | ç±»åž‹         | é»˜è®¤å€¼ |
|----------|------------------------------------------|-------------|-------|
| target | ç›®æ ‡æ—¶é—´ | Date | - |
| onEnd |  å€’计时结束回调 | funtion | -|
LA22A07_Front/src/components/DepartmentSelect/DepartmentSelect.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,48 @@
 <template>
  <a-tree-select
    :dropdownStyle="{ maxHeight: '300px', overflow: 'auto' }"
    allowClear
    :treeData="orgTree"
    :placeholder="placeholder"
    treeDefaultExpandAll
    @change="onchange"
  >
    <span slot="title" slot-scope="{ id }">{{ id }}</span>
  </a-tree-select>
</template>
<script>
import { getOrgTree } from '@/api/modular/system/orgManage'
export default {
  name: 'DepartSelect',
  props: {
    placeholder: {
      type: String
    },
    value: {
      type: String
    }
  },
  data() {
    return {
      orgTree: []
    }
  },
  created() {
    this.getOrgData()
  },
  methods: {
    getOrgData() {
      getOrgTree().then((res) => {
        this.orgTree = res
      })
    },
    /**
     * é€‰æ‹©æ ‘机构,初始化机构名称于表单中
     */
    onchange (value) {
      this.$emit('change', value)
    }
  }
}
</script>
LA22A07_Front/src/components/DepartmentSelect/index.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,3 @@
import DepartmentSelect from './DepartmentSelect'
export default DepartmentSelect
LA22A07_Front/src/components/DescriptionList/DescriptionList.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,153 @@
<template>
  <div :class="['description-list', size, layout === 'vertical' ? 'vertical': 'horizontal']">
    <div v-if="title" class="title">{{ title }}</div>
    <a-row>
      <slot></slot>
    </a-row>
  </div>
</template>
<script>
import { Col } from 'ant-design-vue/es/grid/'
const Item = {
  name: 'DetailListItem',
  props: {
    term: {
      type: String,
      default: '',
      required: false
    }
  },
  inject: {
    col: {
      type: Number
    }
  },
  render () {
    return (
      <Col {...{ props: responsive[this.col] }}>
        <div class="term">{this.$props.term}</div>
        <div class="content">{this.$slots.default}</div>
      </Col>
    )
  }
}
const responsive = {
  1: { xs: 24 },
  2: { xs: 24, sm: 12 },
  3: { xs: 24, sm: 12, md: 8 },
  4: { xs: 24, sm: 12, md: 6 }
}
export default {
  name: 'DetailList',
  Item: Item,
  components: {
    Col
  },
  props: {
    title: {
      type: String,
      default: '',
      required: false
    },
    col: {
      type: Number,
      required: false,
      default: 3
    },
    size: {
      type: String,
      required: false,
      default: 'large'
    },
    layout: {
      type: String,
      required: false,
      default: 'horizontal'
    }
  },
  provide () {
    return {
      col: this.col > 4 ? 4 : this.col
    }
  }
}
</script>
<style lang="less" scoped>
  .description-list {
    .title {
      color: rgba(0,0,0,.85);
      font-size: 14px;
      font-weight: 500;
      margin-bottom: 16px;
    }
    /deep/ .term {
      color: rgba(0,0,0,.85);
      display: table-cell;
      line-height: 20px;
      margin-right: 8px;
      padding-bottom: 16px;
      white-space: nowrap;
      &:not(:empty):after {
        content: ":";
        margin: 0 8px 0 2px;
        position: relative;
        top: -.5px;
      }
    }
    /deep/ .content {
      color: rgba(0,0,0,.65);
      display: table-cell;
      min-height: 22px;
      line-height: 22px;
      padding-bottom: 16px;
      width: 100%;
      &:empty {
        content: ' ';
        height: 38px;
        padding-bottom: 16px;
      }
    }
    &.small {
      .title {
        font-size: 14px;
        color: rgba(0, 0, 0, .65);
        font-weight: normal;
        margin-bottom: 12px;
      }
      /deep/ .term, .content {
        padding-bottom: 8px;
      }
    }
    &.large {
      /deep/ .term, .content {
        padding-bottom: 16px;
      }
      .title {
        font-size: 16px;
      }
    }
    &.vertical {
      .term {
        padding-bottom: 8px;
      }
      /deep/ .term, .content {
        display: block;
      }
    }
  }
</style>
LA22A07_Front/src/components/DescriptionList/index.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,2 @@
import DescriptionList from './DescriptionList'
export default DescriptionList
LA22A07_Front/src/components/Dialog.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,113 @@
import Modal from 'ant-design-vue/es/modal'
export default (Vue) => {
  function dialog (component, componentProps, modalProps) {
    const _vm = this
    modalProps = modalProps || {}
    if (!_vm || !_vm._isVue) {
      return
    }
    let dialogDiv = document.querySelector('body>div[type=dialog]')
    if (!dialogDiv) {
      dialogDiv = document.createElement('div')
      dialogDiv.setAttribute('type', 'dialog')
      document.body.appendChild(dialogDiv)
    }
    const handle = function (checkFunction, afterHandel) {
      if (checkFunction instanceof Function) {
        const res = checkFunction()
        if (res instanceof Promise) {
          res.then(c => {
            c && afterHandel()
          })
        } else {
          res && afterHandel()
        }
      } else {
        // checkFunction && afterHandel()
        checkFunction || afterHandel()
      }
    }
    const dialogInstance = new Vue({
      data () {
        return {
          visible: true
        }
      },
      router: _vm.$router,
      store: _vm.$store,
      mounted () {
        this.$on('close', (v) => {
          this.handleClose()
        })
      },
      methods: {
        handleClose () {
          handle(this.$refs._component.onCancel, () => {
            this.visible = false
            this.$refs._component.$emit('close')
            this.$refs._component.$emit('cancel')
            dialogInstance.$destroy()
          })
        },
        handleOk () {
          handle(this.$refs._component.onOK || this.$refs._component.onOk, () => {
            this.visible = false
            this.$refs._component.$emit('close')
            this.$refs._component.$emit('ok')
            dialogInstance.$destroy()
          })
        }
      },
      render: function (h) {
        const that = this
        const modalModel = modalProps && modalProps.model
        if (modalModel) {
          delete modalProps.model
        }
        const ModalProps = Object.assign({}, modalModel && { model: modalModel } || {}, {
          attrs: Object.assign({}, {
            ...(modalProps.attrs || modalProps)
          }, {
            visible: this.visible
          }),
          on: Object.assign({}, {
            ...(modalProps.on || modalProps)
          }, {
            ok: () => {
              that.handleOk()
            },
            cancel: () => {
              that.handleClose()
            }
          })
        })
        const componentModel = componentProps && componentProps.model
        if (componentModel) {
          delete componentProps.model
        }
        const ComponentProps = Object.assign({}, componentModel && { model: componentModel } || {}, {
          ref: '_component',
          attrs: Object.assign({}, {
            ...((componentProps && componentProps.attrs) || componentProps)
          }),
          on: Object.assign({}, {
            ...((componentProps && componentProps.on) || componentProps)
          })
        })
        return h(Modal, ModalProps, [h(component, ComponentProps)])
      }
    }).$mount(dialogDiv)
  }
  Object.defineProperty(Vue.prototype, '$dialog', {
    get: () => {
      return function () {
        dialog.apply(this, arguments)
      }
    }
  })
}
LA22A07_Front/src/components/Editor/QuillEditor.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,78 @@
<template>
  <div :class="prefixCls">
    <quill-editor
      v-model="content"
      ref="myQuillEditor"
      :options="editorOption"
      @blur="onEditorBlur($event)"
      @focus="onEditorFocus($event)"
      @ready="onEditorReady($event)"
      @change="onEditorChange($event)">
    </quill-editor>
  </div>
</template>
<script>
import 'quill/dist/quill.core.css'
import 'quill/dist/quill.snow.css'
import 'quill/dist/quill.bubble.css'
import { quillEditor } from 'vue-quill-editor'
export default {
  name: 'QuillEditor',
  components: {
    quillEditor
  },
  props: {
    prefixCls: {
      type: String,
      default: 'ant-editor-quill'
    },
    // è¡¨å•校验用字段
    // eslint-disable-next-line
    value: {
      type: String
    }
  },
  data () {
    return {
      content: null,
      editorOption: {
        // some quill options
      }
    }
  },
  methods: {
    onEditorBlur (quill) {
    },
    onEditorFocus (quill) {
    },
    onEditorReady (quill) {
    },
    onEditorChange ({ quill, html, text }) {
      this.$emit('change', html)
    }
  },
  watch: {
    value (val) {
      this.content = val
    }
  }
}
</script>
<style lang="less" scoped>
@import url('../index.less');
/* è¦†ç›– quill é»˜è®¤è¾¹æ¡†åœ†è§’为 ant é»˜è®¤åœ†è§’,用于统一 ant ç»„件风格 */
.ant-editor-quill {
  /deep/ .ql-toolbar.ql-snow {
    border-radius: @border-radius-base @border-radius-base 0 0;
  }
  /deep/ .ql-container.ql-snow {
    border-radius: 0 0 @border-radius-base @border-radius-base;
  }
}
</style>
LA22A07_Front/src/components/Editor/WangEditor.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,126 @@
<template>
  <div>
    <div id="editor" ref="myEditor"></div>
    <slot></slot>
  </div>
</template>
<script>
  import WangEditor from 'wangeditor'
  export default {
    name: 'ComponentWangeditor',
    data () {
      return {
        edit: ''
      }
    },
    props: {
      value: {
        type: String,
        default: ''
      },
      config: {
        type: Object,
        default: () => {
          return {}
        }
      },
      uploadConfig: {
        type: Object,
        default: () => {
          return {
            method: 'http', // æ”¯æŒcustom(objurl)和http(服务器)和base64
            url: '/'
          }
        }
      }
    },
    computed: {
      customConfig () {
        return {
          pasteFilterStyle: false, // å…³é—­æŽ‰ç²˜è´´æ ·å¼çš„过滤
          pasteIgnoreImg: false, // ç²˜è´´æ—¶ä¸å¿½ç•¥å›¾ç‰‡
          ...this.config
        }
      }
    },
    watch: {
    },
    components: {
    },
    methods: {
      readBlobAsDataURL (blob, callback) {
        var a = new FileReader()
        a.onload = function (e) { callback(e.target.result) }
        a.readAsDataURL(blob)
      },
      initEditor () {
        var self = this
        this.editor = new WangEditor(this.$refs.myEditor)
        // é…ç½® onchange äº‹ä»¶
        this.editor.customConfig = this.customConfig
        this.editor.customConfig.uploadImgMaxLength = 5
        this.editor.change = function () { // ç¼–辑区域内容变化时
          self.$emit('input', this.txt.html())
          self.$emit('onchange', this.txt.html(), this.txt)
          // editor.txt.html('.....') //设置编辑器内容
          // editor.txt.clear() //清空编辑器内容
          // editor.txt.append('<p>追加的内容</p>')//继续追加内容。
          // editor.txt.text()  // è¯»å– text
          // editor.txt.getJSON()  // èŽ·å– JSON æ ¼å¼çš„内容
        }
        this.editor.customConfig.customUploadImg = function (files, insert) {
          if (self.uploadConfig.method === 'custom') {
            files.forEach(file => {
              var fileUrl = URL.createObjectURL(file)
              insert(fileUrl)
            })
          }
          if (self.uploadConfig.method === 'base64') {
            files.forEach(file => {
              self.readBlobAsDataURL(file, function (dataurl) {
                insert(dataurl)
              })
            })
          }
          if (self.uploadConfig.method === 'http') {
            if (self.uploadConfig.callback) {
              self.uploadConfig.callback(files, insert)
            } else {
              var formData = new FormData()
              files.forEach(file => {
                formData.append('file', file)
              })
              self.$axios.post(self.uploadConfig.url, formData).then(({ data }) => {
                if (data.status === 'success') {
                  insert(data.url)
                }
              })
            }
          }
        }
        this.editor.create() // ç”Ÿæˆç¼–辑器
        this.editor.txt.text(this.value) // ç”Ÿæˆç¼–辑器
        this.$emit('oninit', this.editor)
      }
    },
    beforeCreate () {
    },
    created () {
    },
    beforeMount () {
    },
    mounted () {
      this.initEditor()
    }
  }
</script>
<style >
  .w-e-toolbar{
    flex-wrap:wrap;
  }
</style>
LA22A07_Front/src/components/Ellipsis/Ellipsis.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,64 @@
<script>
import Tooltip from 'ant-design-vue/es/tooltip'
import { cutStrByFullLength, getStrFullLength } from '@/components/_util/util'
/*
    const isSupportLineClamp = document.body.style.webkitLineClamp !== undefined;
    const TooltipOverlayStyle = {
      overflowWrap: 'break-word',
      wordWrap: 'break-word',
    };
  */
export default {
  name: 'Ellipsis',
  components: {
    Tooltip
  },
  props: {
    prefixCls: {
      type: String,
      default: 'ant-pro-ellipsis'
    },
    tooltip: {
      type: Boolean
    },
    length: {
      type: Number,
      required: true
    },
    lines: {
      type: Number,
      default: 1
    },
    fullWidthRecognition: {
      type: Boolean,
      default: false
    }
  },
  methods: {
    getStrDom (str, fullLength) {
      return (
        <span>{ cutStrByFullLength(str, this.length) + (fullLength > this.length ? '...' : '') }</span>
      )
    },
    getTooltip (fullStr, fullLength) {
      return (
        <Tooltip>
          <template slot="title">{ fullStr }</template>
          { this.getStrDom(fullStr, fullLength) }
        </Tooltip>
      )
    }
  },
  render () {
    const { tooltip, length } = this.$props
    const str = this.$slots.default.map(vNode => vNode.text).join('')
    const fullLength = getStrFullLength(str)
    const strDom = tooltip && fullLength > length ? this.getTooltip(str, fullLength) : this.getStrDom(str, fullLength)
    return (
      strDom
    )
  }
}
</script>
LA22A07_Front/src/components/Ellipsis/index.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,3 @@
import Ellipsis from './Ellipsis'
export default Ellipsis
LA22A07_Front/src/components/Ellipsis/index.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,38 @@
# Ellipsis æ–‡æœ¬è‡ªåŠ¨çœç•¥å·
文本过长自动处理省略号,支持按照文本长度和最大行数两种方式截取。
引用方式:
```javascript
import Ellipsis from '@/components/Ellipsis'
export default {
    components: {
        Ellipsis
    }
}
```
## ä»£ç æ¼”示  [demo](https://pro.loacg.com/test/home)
```html
<ellipsis :length="100" tooltip>
        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.
</ellipsis>
```
## API
参数 | è¯´æ˜Ž | ç±»åž‹ | é»˜è®¤å€¼
----|------|-----|------
tooltip | ç§»åŠ¨åˆ°æ–‡æœ¬å±•ç¤ºå®Œæ•´å†…å®¹çš„æç¤º | boolean | -
length | åœ¨æŒ‰ç…§é•¿åº¦æˆªå–下的文本最大字符数,超过则截取省略 | number | -
LA22A07_Front/src/components/Exception/ExceptionPage.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,130 @@
<template>
  <div class="exception">
    <div class="imgBlock">
      <div class="imgEle" :style="{backgroundImage: `url(${config[type].img})`}">
      </div>
    </div>
    <div class="content">
      <h1>{{ config[type].title }}</h1>
      <div class="desc">{{ config[type].desc }}</div>
      <div class="actions">
        <a-button type="primary" @click="handleToHome">返回首页</a-button>
      </div>
    </div>
  </div>
</template>
<script>
import types from './type'
export default {
  name: 'Exception',
  props: {
    type: {
      type: String,
      default: '404'
    }
  },
  data () {
    return {
      config: types
    }
  },
  methods: {
    handleToHome () {
      this.$router.push({ name: 'Console' })
    }
  }
}
</script>
<style lang="less">
@import "~ant-design-vue/lib/style/index";
.exception {
  display: flex;
  align-items: center;
  height: 80%;
  min-height: 500px;
  .imgBlock {
    flex: 0 0 62.5%;
    width: 62.5%;
    padding-right: 152px;
    zoom: 1;
    &::before,
    &::after {
      content: ' ';
      display: table;
    }
    &::after {
      clear: both;
      height: 0;
      font-size: 0;
      visibility: hidden;
    }
  }
  .imgEle {
    float: right;
    width: 100%;
    max-width: 430px;
    height: 360px;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: contain;
  }
  .content {
    flex: auto;
    h1 {
      margin-bottom: 24px;
      color: #434e59;
      font-weight: 600;
      font-size: 72px;
      line-height: 72px;
    }
    .desc {
      margin-bottom: 16px;
      color: @text-color-secondary;
      font-size: 20px;
      line-height: 28px;
    }
    .actions {
      button:not(:last-child) {
        margin-right: 8px;
      }
    }
  }
}
@media screen and (max-width: @screen-xl) {
  .exception {
    .imgBlock {
      padding-right: 88px;
    }
  }
}
@media screen and (max-width: @screen-sm) {
  .exception {
    display: block;
    text-align: center;
    .imgBlock {
      margin: 0 auto 24px;
      padding-right: 0;
    }
  }
}
@media screen and (max-width: @screen-xs) {
  .exception {
    .imgBlock {
      margin-bottom: -24px;
      overflow: hidden;
    }
  }
}
</style>
LA22A07_Front/src/components/Exception/index.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,2 @@
import ExceptionPage from './ExceptionPage.vue'
export default ExceptionPage
LA22A07_Front/src/components/Exception/type.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
const types = {
  403: {
    img: 'https://gw.alipayobjects.com/zos/rmsportal/wZcnGqRDyhPOEYFcZDnb.svg',
    title: '403',
    desc: '抱歉,你无权访问该页面'
  },
  404: {
    img: 'https://gw.alipayobjects.com/zos/rmsportal/KpnpchXsobRgLElEozzI.svg',
    title: '404',
    desc: '抱歉,你访问的页面不存在或仍在开发中'
  },
  500: {
    img: 'https://gw.alipayobjects.com/zos/rmsportal/RVRUAYdCGeYNBWoKiIwB.svg',
    title: '500',
    desc: '抱歉,服务器出错了'
  }
}
export default types
LA22A07_Front/src/components/FooterToolbar/FooterToolBar.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,30 @@
<template>
  <div :class="prefixCls">
    <div style="float: left">
      <slot name="extra">{{ extra }}</slot>
    </div>
    <div style="float: right">
      <slot></slot>
    </div>
  </div>
</template>
<script>
export default {
  name: 'FooterToolBar',
  props: {
    prefixCls: {
      type: String,
      default: 'ant-pro-footer-toolbar'
    },
    extra: {
      type: [String, Object],
      default: ''
    }
  }
}
</script>
<style lang="less" scoped>
</style>
LA22A07_Front/src/components/FooterToolbar/index.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,4 @@
import FooterToolBar from './FooterToolBar'
import './index.less'
export default FooterToolBar
LA22A07_Front/src/components/FooterToolbar/index.less
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
@import "../index";
@footer-toolbar-prefix-cls: ~"@{ant-pro-prefix}-footer-toolbar";
.@{footer-toolbar-prefix-cls} {
  position: fixed;
  width: 100%;
  bottom: 0;
  right: 0;
  height: 56px;
  line-height: 56px;
  box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.03);
  background: #fff;
  border-top: 1px solid #e8e8e8;
  padding: 0 24px;
  z-index: 9;
  &:after {
    content: "";
    display: block;
    clear: both;
  }
}
LA22A07_Front/src/components/FooterToolbar/index.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,48 @@
# FooterToolbar åº•部工具栏
固定在底部的工具栏。
## ä½•时使用
固定在内容区域的底部,不随滚动条移动,常用于长页面的数据搜集和提交工作。
引用方式:
```javascript
import FooterToolBar from '@/components/FooterToolbar'
export default {
    components: {
        FooterToolBar
    }
}
```
## ä»£ç æ¼”示
```html
<footer-tool-bar>
    <a-button type="primary" @click="validate" :loading="loading">提交</a-button>
</footer-tool-bar>
```
或
```html
<footer-tool-bar extra="扩展信息提示">
    <a-button type="primary" @click="validate" :loading="loading">提交</a-button>
</footer-tool-bar>
```
## API
参数 | è¯´æ˜Ž | ç±»åž‹ | é»˜è®¤å€¼
----|------|-----|------
children (slot) | å·¥å…·æ å†…容,向右对齐 | - | -
extra | é¢å¤–信息,向左对齐 | String, Object | -
LA22A07_Front/src/components/GlobalFooter/GlobalFooter.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,46 @@
<template>
  <div class="footer">
    <div class="links">
    </div>
    <div class="copyright">
      ç‰ˆæƒæ‰€æœ‰ Copyright©罗伯泰克
    </div>
  </div>
</template>
<script>
export default {
  name: 'GlobalFooter',
  data () {
    return {}
  }
}
</script>
<style lang="less" scoped>
.footer {
  padding: 0 16px;
  margin: 0 0 10px;
  text-align: center;
  .links {
    margin-bottom: 8px;
    a {
      color: rgba(0, 0, 0, 0.45);
      &:hover {
        color: rgba(0, 0, 0, 0.65);
      }
      &:not(:last-child) {
        margin-right: 40px;
      }
    }
  }
  .copyright {
    color: rgba(0, 0, 0, 0.45);
    font-size: 14px;
  }
}
</style>
LA22A07_Front/src/components/GlobalFooter/index.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,2 @@
import GlobalFooter from './GlobalFooter'
export default GlobalFooter
LA22A07_Front/src/components/GlobalHeader/GlobalHeader.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,194 @@
<template>
  <transition name="showHeader">
    <div v-if="visible" class="header-animat">
      <a-layout-header
        v-if="visible"
        :class="[fixedHeader && 'ant-header-fixedHeader', sidebarOpened ? 'ant-header-side-opened' : 'ant-header-side-closed', ]"
        :style="{ padding: '0', height: '55px' }">
        <div v-if="mode === 'sidemenu'" class="header">
          <a-menu style="height: 55px; border-bottom: 0px;" mode="horizontal" :default-selected-keys="this.defApp">
            <a-icon
              v-if="device==='mobile'"
              class="trigger"
              :type="collapsed ? 'menu-fold' : 'menu-unfold'"
              @click="toggle" />
            <a-icon
              v-else
              class="trigger"
              :type="collapsed ? 'menu-unfold' : 'menu-fold'"
              @click="toggle"
              style="padding-left: 20px; padding-right: 20px;" />
            <a-menu-item
              v-for="(item) in userInfo.apps"
              :key="item.code"
              style="top:0px; line-height: 55px; padding-left: 10px; padding-right: 10px"
              @click="switchApp(item.code)">
              {{ item.name }}
            </a-menu-item>
            <user-menu></user-menu>
          </a-menu>
        </div>
        <div v-else :class="['top-nav-header-index', theme]">
          <div class="header-index-wide">
            <div class="header-index-left">
              <logo class="top-nav-header" :show-title="device !== 'mobile'" />
              <s-menu v-if="device !== 'mobile'" mode="horizontal" :menu="menus" :theme="theme" />
              <a-icon v-else class="trigger" :type="collapsed ? 'menu-fold' : 'menu-unfold'" @click="toggle" />
            </div>
            <user-menu class="header-index-right"></user-menu>
          </div>
        </div>
      </a-layout-header>
    </div>
  </transition>
</template>
<script>
  import UserMenu from '../tools/UserMenu'
  import SMenu from '../Menu/'
  import Logo from '../tools/Logo'
  import {
    mixin
  } from '@/utils/mixin'
  import {
    mapActions,
    mapGetters
  } from 'vuex'
  import {
    ALL_APPS_MENU
  } from '@/store/mutation-types'
  import Vue from 'vue'
  import {
    message
  } from 'ant-design-vue/es'
  import Enumerable from 'linq'
  export default {
    name: 'GlobalHeader',
    components: {
      UserMenu,
      SMenu,
      Logo
    },
    computed: {
      ...mapGetters(['userInfo'])
    },
    created() {
      // this.defApp.push(Vue.ls.get(ALL_APPS_MENU)[0].code)
      var defautMenu = Enumerable.from(Vue.ls.get(ALL_APPS_MENU)).firstOrDefault(x => x.active === 'Y')
      if (defautMenu !== undefined) {
        this.defApp.push(defautMenu.code)
      }
    },
    mixins: [mixin],
    props: {
      mode: {
        type: String,
        // sidemenu, topmenu
        default: 'sidemenu'
      },
      menus: {
        type: Array,
        required: true
      },
      theme: {
        type: String,
        required: false,
        default: 'dark'
      },
      collapsed: {
        type: Boolean,
        required: false,
        default: false
      },
      device: {
        type: String,
        required: false,
        default: 'desktop'
      }
    },
    data() {
      return {
        visible: true,
        oldScrollTop: 0,
        defApp: []
      }
    },
    mounted() {
      document.addEventListener('scroll', this.handleScroll, {
        passive: true
      })
    },
    methods: {
      ...mapActions(['MenuChange']),
      /**
       * åº”用切换
       */
      switchApp(appCode) {
        this.defApp = []
        const applicationData = this.userInfo.apps.filter(item => item.code === appCode)
        const hideMessage = message.loading('正在切换应用!', 0)
        this.MenuChange(applicationData[0]).then((res) => {
          hideMessage()
          // eslint-disable-next-line handle-callback-err
        }).catch((err) => {
          message.error('应用切换异常')
        })
      },
      handleScroll() {
        if (!this.autoHideHeader) {
          return
        }
        const scrollTop = document.body.scrollTop + document.documentElement.scrollTop
        if (!this.ticking) {
          this.ticking = true
          requestAnimationFrame(() => {
            if (this.oldScrollTop > scrollTop) {
              this.visible = true
            } else if (scrollTop > 300 && this.visible) {
              this.visible = false
            } else if (scrollTop < 300 && !this.visible) {
              this.visible = true
            }
            this.oldScrollTop = scrollTop
            this.ticking = false
          })
        }
      },
      toggle() {
        this.$emit('toggle')
      }
    },
    beforeDestroy() {
      document.body.removeEventListener('scroll', this.handleScroll, true)
    }
  }
</script>
<style lang="less">
  @import '../index.less';
  .header-animat {
    position: relative;
    z-index: @ant-global-header-zindex;
  }
  .showHeader-enter-active {
    transition: all 0.25s ease;
  }
  .showHeader-leave-active {
    transition: all 0.5s ease;
  }
  .showHeader-enter,
  .showHeader-leave-to {
    opacity: 0;
  }
</style>
LA22A07_Front/src/components/GlobalHeader/index.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,2 @@
import GlobalHeader from './GlobalHeader'
export default GlobalHeader
LA22A07_Front/src/components/IconSelector/IconSelector.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,86 @@
<template>
  <div :class="prefixCls">
    <a-tabs v-model="currentTab" @change="handleTabChange">
      <a-tab-pane v-for="v in icons" :tab="v.title" :key="v.key">
        <ul>
          <li v-for="(icon, key) in v.icons" :key="`${v.key}-${key}`" :class="{ 'active': selectedIcon==icon }" @click="handleSelectedIcon(icon)" >
            <a-icon :type="icon" :style="{ fontSize: '36px' }" />
          </li>
        </ul>
      </a-tab-pane>
    </a-tabs>
  </div>
</template>
<script>
import icons from './icons'
export default {
  name: 'IconSelect',
  props: {
    prefixCls: {
      type: String,
      default: 'ant-pro-icon-selector'
    },
    // eslint-disable-next-line
    value: {
      type: String
    }
  },
  data () {
    return {
      selectedIcon: this.value || '',
      currentTab: 'directional',
      icons
    }
  },
  watch: {
    value (val) {
      this.selectedIcon = val
      this.autoSwitchTab()
    }
  },
  created () {
    if (this.value) {
      this.autoSwitchTab()
    }
  },
  methods: {
    handleSelectedIcon (icon) {
      this.selectedIcon = icon
      this.$emit('change', icon)
    },
    handleTabChange (activeKey) {
      this.currentTab = activeKey
    },
    autoSwitchTab () {
      icons.some(item => item.icons.some(icon => icon === this.value) && (this.currentTab = item.key))
    }
  }
}
</script>
<style lang="less" scoped>
  @import "../index.less";
  ul{
    list-style: none;
    padding: 0;
    overflow-y: scroll;
    height: 250px;
    li{
      display: inline-block;
      padding: @padding-sm;
      margin: 3px 0;
      border-radius: @border-radius-base;
      &:hover, &.active{
        // box-shadow: 0px 0px 5px 2px @primary-color;
        cursor: pointer;
        color: @white;
        background-color: @primary-color;
      }
    }
  }
</style>
LA22A07_Front/src/components/IconSelector/README.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,47 @@
IconSelector
====
> å›¾æ ‡é€‰æ‹©ç»„件,常用于为某一个数据设定一个图标时使用
> eg: è®¾å®šèœå•列表时,为每个菜单设定一个图标
该组件由 [@Saraka](https://github.com/saraka-tsukai) å°è£…
### ä½¿ç”¨æ–¹å¼
```vue
<template>
    <div>
       <icon-selector @change="handleIconChange"/>
    </div>
</template>
<script>
import IconSelector from '@/components/IconSelector'
export default {
  name: 'YourView',
  components: {
    IconSelector
  },
  data () {
    return {
    }
  },
  methods: {
    handleIconChange (icon) {
    }
  }
}
</script>
```
### äº‹ä»¶
| åç§°   | è¯´æ˜Ž                       | ç±»åž‹   | é»˜è®¤å€¼ |
| ------ | -------------------------- | ------ | ------ |
| change | å½“改变了 `icon` é€‰ä¸­é¡¹è§¦å‘ | String | -      |
LA22A07_Front/src/components/IconSelector/icons.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,36 @@
/**
 * å¢žåŠ æ–°çš„å›¾æ ‡æ—¶ï¼Œè¯·éµå¾ªä»¥ä¸‹æ•°æ®ç»“æž„
 * Adding new icon please follow the data structure below
 */
export default [
  {
    key: 'directional',
    title: '方向性图标',
    icons: ['step-backward', 'step-forward', 'fast-backward', 'fast-forward', 'shrink', 'arrows-alt', 'down', 'up', 'left', 'right', 'caret-up', 'caret-down', 'caret-left', 'caret-right', 'up-circle', 'down-circle', 'left-circle', 'right-circle', 'double-right', 'double-left', 'vertical-left', 'vertical-right', 'forward', 'backward', 'rollback', 'enter', 'retweet', 'swap', 'swap-left', 'swap-right', 'arrow-up', 'arrow-down', 'arrow-left', 'arrow-right', 'play-circle', 'up-square', 'down-square', 'left-square', 'right-square', 'login', 'logout', 'menu-fold', 'menu-unfold', 'border-bottom', 'border-horizontal', 'border-inner', 'border-left', 'border-right', 'border-top', 'border-verticle', 'pic-center', 'pic-left', 'pic-right', 'radius-bottomleft', 'radius-bottomright', 'radius-upleft', 'fullscreen', 'fullscreen-exit']
  },
  {
    key: 'suggested',
    title: '提示建议性图标',
    icons: ['question', 'question-circle', 'plus', 'plus-circle', 'pause', 'pause-circle', 'minus', 'minus-circle', 'plus-square', 'minus-square', 'info', 'info-circle', 'exclamation', 'exclamation-circle', 'close', 'close-circle', 'close-square', 'check', 'check-circle', 'check-square', 'clock-circle', 'warning', 'issues-close', 'stop']
  },
  {
    key: 'editor',
    title: '编辑类图标',
    icons: ['edit', 'form.vue', 'copy', 'scissor', 'delete', 'snippets', 'diff', 'highlight', 'align-center', 'align-left', 'align-right', 'bg-colors', 'bold', 'italic', 'underline', 'strikethrough', 'redo', 'undo', 'zoom-in', 'zoom-out', 'font-colors', 'font-size', 'line-height', 'column-height', 'dash', 'small-dash', 'sort-ascending', 'sort-descending', 'drag', 'ordered-list', 'radius-setting']
  },
  {
    key: 'data',
    title: '数据类图标',
    icons: ['area-chart', 'pie-chart', 'bar-chart', 'dot-chart', 'line-chart', 'radar-chart', 'heat-map', 'fall', 'rise', 'stock', 'box-plot', 'fund', 'sliders']
  },
  {
    key: 'brand_logo',
    title: '网站通用图标',
    icons: ['lock', 'unlock', 'bars', 'book', 'calendar', 'cloud', 'cloud-download', 'code', 'copy', 'credit-card', 'delete', 'desktop', 'download', 'ellipsis', 'file', 'file-text', 'file-unknown', 'file-pdf', 'file-word', 'file-excel', 'file-jpg', 'file-ppt', 'file-markdown', 'file-add', 'folder', 'folder-open', 'folder-add', 'hdd', 'frown', 'meh', 'smile', 'inbox', 'laptop', 'appstore', 'link', 'mail', 'mobile', 'notification', 'paper-clip', 'picture', 'poweroff', 'reload', 'search', 'setting', 'share-alt', 'shopping-cart', 'tablet', 'tag', 'tags', 'to-top', 'upload', 'user', 'video-camera', 'home', 'loading', 'loading-3-quarters', 'cloud-upload', 'star', 'heart', 'environment', 'eye', 'camera', 'save', 'team', 'solution', 'phone', 'filter', 'exception', 'export', 'customer-service', 'qrcode', 'scan', 'like', 'dislike', 'message', 'pay-circle', 'calculator', 'pushpin', 'bulb', 'select', 'switcher', 'rocket', 'bell', 'disconnect', 'database', 'compass', 'barcode', 'hourglass', 'key', 'flag', 'layout', 'printer', 'sound', 'usb', 'skin', 'tool', 'sync', 'wifi', 'car', 'schedule', 'user-add', 'user-delete', 'usergroup-add', 'usergroup-delete', 'man', 'woman', 'shop', 'gift', 'idcard', 'medicine-box', 'red-envelope', 'coffee', 'copyright', 'trademark', 'safety', 'wallet', 'bank', 'trophy', 'contacts', 'global', 'shake', 'api', 'fork', 'dashboard', 'table', 'profile', 'alert', 'audit', 'branches', 'build', 'border', 'crown', 'experiment', 'fire', 'money-collect', 'property-safety', 'read', 'reconciliation', 'rest', 'security-scan', 'insurance', 'interaction', 'safety-certificate', 'project', 'thunderbolt', 'block', 'cluster', 'deployment-unit', 'dollar', 'euro', 'pound', 'file-done', 'file-exclamation', 'file-protect', 'file-search', 'file-sync', 'gateway', 'gold', 'robot', 'shopping']
  },
  {
    key: 'application',
    title: '品牌和标识',
    icons: ['android', 'apple', 'windows', 'ie', 'chrome', 'github', 'aliwangwang', 'dingding', 'weibo-square', 'weibo-circle', 'taobao-circle', 'html5', 'weibo', 'twitter', 'wechat', 'youtube', 'alipay-circle', 'taobao', 'skype', 'qq', 'medium-workmark', 'gitlab', 'medium', 'linkedin', 'google-plus', 'dropbox', 'facebook', 'codepen', 'code-sandbox', 'amazon', 'google', 'codepen-circle', 'alipay', 'ant-design', 'aliyun', 'zhihu', 'slack', 'slack-square', 'behance', 'behance-square', 'dribbble', 'dribbble-square', 'instagram', 'yuque', 'alibaba', 'yahoo']
  }
]
LA22A07_Front/src/components/IconSelector/index.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,2 @@
import IconSelector from './IconSelector'
export default IconSelector
LA22A07_Front/src/components/Loading.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,64 @@
import Vue from "vue";
import { Spin } from "ant-design-vue";
const createFullLoading = function(){
  const instance = new Vue({
    data: {
      visible: false,
    },
    methods: {
      show() {
        this.visible = true;
      },
      hide() {
        this.visible = false;
      },
    },
    render(h, data) {
      const fullscreenStyle = {
        position: "fixed",
        left: 0,
        top: 0,
        width: "100%",
        height: "100%",
        display: this.visible?'block':'none',
        zIndex:99999999999
      }
      const maskStyle = {
        position: "absolute",
        left: 0,
        top: 0,
        width: "100%",
        height: "100%",
        zIndex:1,
        backgroundColor:'rgba(0,0,0,.2)'
      }
      const innerStyle = {
        position: "absolute",
        left: 0,
        top: 0,
        width: "100%",
        height: "100%",
        zIndex:2,
        backgroundColor:'transparent',
        display: "flex",
        justifyContent: "center",
        alignItems: "center"
      }
      return (
        <div style={fullscreenStyle}>
          <div style={maskStyle}></div>
          <div style={innerStyle}><Spin /></div>
        </div>
      )
    },
  });
  const component = instance.$mount();
  document.body.appendChild(component.$el);
  return instance
}
export default createFullLoading
LA22A07_Front/src/components/Menu/SideMenu.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,61 @@
<template>
  <a-layout-sider
    :class="['sider', isDesktop() ? null : 'shadow', theme, fixSiderbar ? 'ant-fixed-sidemenu' : null ]"
    width="230px"
    :collapsible="collapsible"
    v-model="collapsed"
    :trigger="null">
    <logo />
    <s-menu
      :collapsed="collapsed"
      :menu="menus"
      :theme="theme"
      :mode="mode"
      @select="onSelect"
    ></s-menu>
  </a-layout-sider>
</template>
<script>
import Logo from '@/components/tools/Logo'
import SMenu from './index'
import { mixin, mixinDevice } from '@/utils/mixin'
export default {
  name: 'SideMenu',
  components: { Logo, SMenu },
  mixins: [mixin, mixinDevice],
  props: {
    mode: {
      type: String,
      required: false,
      default: 'inline'
    },
    theme: {
      type: String,
      required: false,
      default: 'dark'
    },
    collapsible: {
      type: Boolean,
      required: false,
      default: false
    },
    collapsed: {
      type: Boolean,
      required: false,
      default: false
    },
    menus: {
      type: Array,
      required: true
    }
  },
  methods: {
    onSelect (obj) {
      this.$emit('menuSelect', obj)
    }
  }
}
</script>
LA22A07_Front/src/components/Menu/index.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,2 @@
import SMenu from './menu'
export default SMenu
LA22A07_Front/src/components/Menu/menu.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,177 @@
import Menu from 'ant-design-vue/es/menu'
import Icon from 'ant-design-vue/es/icon'
export default {
  name: 'SMenu',
  props: {
    menu: {
      type: Array,
      required: true
    },
    theme: {
      type: String,
      required: false,
      default: 'dark'
    },
    mode: {
      type: String,
      required: false,
      default: 'inline'
    },
    collapsed: {
      type: Boolean,
      required: false,
      default: false
    }
  },
  data () {
    return {
      openKeys: [],
      selectedKeys: [],
      cachedOpenKeys: []
    }
  },
  computed: {
    rootSubmenuKeys: vm => {
      const keys = []
      vm.menu.forEach(item => keys.push(item.path))
      return keys
    }
  },
  mounted () {
    this.updateMenu()
  },
  watch: {
    collapsed (val) {
      if (val) {
        this.cachedOpenKeys = this.openKeys.concat()
        this.openKeys = []
      } else {
        this.openKeys = this.cachedOpenKeys
      }
    },
    $route: function () {
      this.updateMenu()
    }
  },
  methods: {
    // select menu item
    onOpenChange (openKeys) {
      // åœ¨æ°´å¹³æ¨¡å¼ä¸‹æ—¶æ‰§è¡Œï¼Œå¹¶ä¸”不再执行后续
      if (this.mode === 'horizontal') {
        this.openKeys = openKeys
        return
      }
      // éžæ°´å¹³æ¨¡å¼æ—¶
      const latestOpenKey = openKeys.find(key => !this.openKeys.includes(key))
      if (!this.rootSubmenuKeys.includes(latestOpenKey)) {
        this.openKeys = openKeys
      } else {
        this.openKeys = latestOpenKey ? [latestOpenKey] : []
      }
    },
    onSelect ({ item, key, selectedKeys }) {
      this.selectedKeys = selectedKeys
      this.$emit('select', { item, key, selectedKeys })
    },
    updateMenu () {
      const routes = this.$route.matched.concat()
      const { hidden } = this.$route.meta
      if (routes.length >= 3 && hidden) {
        routes.pop()
        this.selectedKeys = [routes[routes.length - 1].path]
      } else {
        this.selectedKeys = [routes.pop().path]
      }
      const openKeys = []
      if (this.mode === 'inline') {
        routes.forEach(item => {
          openKeys.push(item.path)
        })
      }
      this.collapsed ? (this.cachedOpenKeys = openKeys) : (this.openKeys = openKeys)
    },
    // render
    renderItem (menu) {
      if (!menu.hidden) {
        return menu.children && !menu.hideChildrenInMenu ? this.renderSubMenu(menu) : this.renderMenuItem(menu)
      }
      return null
    },
    renderMenuItem (menu) {
      const target = menu.meta.target || null
      const CustomTag = target && 'a' || 'router-link'
      const props = { to: { name: menu.name } }
      const attrs = { href: menu.path, target: menu.meta.target }
      if (menu.children && menu.hideChildrenInMenu) {
        // æŠŠæœ‰å­èœå•çš„ å¹¶ä¸” çˆ¶èœå•是要隐藏子菜单的
        // éƒ½ç»™å­èœå•增加一个 hidden å±žæ€§
        // ç”¨æ¥ç»™åˆ·æ–°é¡µé¢æ—¶ï¼Œ selectedKeys åšæŽ§åˆ¶ç”¨
        menu.children.forEach(item => {
          item.meta = Object.assign(item.meta, { hidden: true })
        })
      }
      return (
        <Menu.Item {...{ key: menu.path }}>
          <CustomTag {...{ props, attrs }}>
            {this.renderIcon(menu.meta.icon)}
            <span>{menu.meta.title}</span>
          </CustomTag>
        </Menu.Item>
      )
    },
    renderSubMenu (menu) {
      const itemArr = []
      if (!menu.hideChildrenInMenu) {
        menu.children.forEach(item => itemArr.push(this.renderItem(item)))
      }
      return (
        <Menu.SubMenu {...{ key: menu.path }}>
          <span slot="title">
            {this.renderIcon(menu.meta.icon)}
            <span>{menu.meta.title}</span>
          </span>
          {itemArr}
        </Menu.SubMenu>
      )
    },
    renderIcon (icon) {
      if (icon === 'none' || icon === undefined) {
        return null
      }
      const props = {}
      typeof (icon) === 'object' ? props.component = icon : props.type = icon
      return (
        <Icon {... { props } }/>
      )
    }
  },
  render () {
    const dynamicProps = {
      props: {
        mode: this.mode,
        theme: this.theme,
        openKeys: this.openKeys,
        selectedKeys: this.selectedKeys
      },
      on: {
        openChange: this.onOpenChange,
        select: this.onSelect
      }
    }
    const menuTree = this.menu.map(item => {
      if (item.hidden) {
        return null
      }
      return this.renderItem(item)
    })
    return (<Menu {...dynamicProps}>{menuTree}</Menu>)
  }
}
LA22A07_Front/src/components/Menu/menu.render.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,155 @@
import Menu from 'ant-design-vue/es/menu'
import Icon from 'ant-design-vue/es/icon'
const { Item, SubMenu } = Menu
export default {
  name: 'SMenu',
  props: {
    menu: {
      type: Array,
      required: true
    },
    theme: {
      type: String,
      required: false,
      default: 'dark'
    },
    mode: {
      type: String,
      required: false,
      default: 'inline'
    },
    collapsed: {
      type: Boolean,
      required: false,
      default: false
    }
  },
  data () {
    return {
      openKeys: [],
      selectedKeys: [],
      cachedOpenKeys: []
    }
  },
  computed: {
    rootSubmenuKeys: vm => {
      const keys = []
      vm.menu.forEach(item => keys.push(item.path))
      return keys
    }
  },
  created () {
    this.updateMenu()
  },
  watch: {
    collapsed (val) {
      if (val) {
        this.cachedOpenKeys = this.openKeys.concat()
        this.openKeys = []
      } else {
        this.openKeys = this.cachedOpenKeys
      }
    },
    $route: function () {
      this.updateMenu()
    }
  },
  methods: {
    renderIcon: function (h, icon) {
      if (icon === 'none' || icon === undefined) {
        return null
      }
      const props = {}
      typeof (icon) === 'object' ? props.component = icon : props.type = icon
      return h(Icon, { props: { ...props } })
    },
    renderMenuItem: function (h, menu, pIndex, index) {
      const target = menu.meta.target || null
      return h(Item, { key: menu.path ? menu.path : 'item_' + pIndex + '_' + index }, [
        h('router-link', { attrs: { to: { name: menu.name }, target: target } }, [
          this.renderIcon(h, menu.meta.icon),
          h('span', [menu.meta.title])
        ])
      ])
    },
    renderSubMenu: function (h, menu, pIndex, index) {
      const this2_ = this
      const subItem = [h('span', { slot: 'title' }, [this.renderIcon(h, menu.meta.icon), h('span', [menu.meta.title])])]
      const itemArr = []
      const pIndex_ = pIndex + '_' + index
      if (!menu.hideChildrenInMenu) {
        menu.children.forEach(function (item, i) {
          itemArr.push(this2_.renderItem(h, item, pIndex_, i))
        })
      }
      return h(SubMenu, { key: menu.path ? menu.path : 'submenu_' + pIndex + '_' + index }, subItem.concat(itemArr))
    },
    renderItem: function (h, menu, pIndex, index) {
      if (!menu.hidden) {
        return menu.children && !menu.hideChildrenInMenu
          ? this.renderSubMenu(h, menu, pIndex, index)
          : this.renderMenuItem(h, menu, pIndex, index)
      }
    },
    renderMenu: function (h, menuTree) {
      const this2_ = this
      const menuArr = []
      menuTree.forEach(function (menu, i) {
        if (!menu.hidden) {
          menuArr.push(this2_.renderItem(h, menu, '0', i))
        }
      })
      return menuArr
    },
    onOpenChange (openKeys) {
      const latestOpenKey = openKeys.find(key => !this.openKeys.includes(key))
      if (!this.rootSubmenuKeys.includes(latestOpenKey)) {
        this.openKeys = openKeys
      } else {
        this.openKeys = latestOpenKey ? [latestOpenKey] : []
      }
    },
    updateMenu () {
      const routes = this.$route.matched.concat()
      if (routes.length >= 4 && this.$route.meta.hidden) {
        routes.pop()
        this.selectedKeys = [routes[2].path]
      } else {
        this.selectedKeys = [routes.pop().path]
      }
      const openKeys = []
      if (this.mode === 'inline') {
        routes.forEach(item => {
          openKeys.push(item.path)
        })
      }
      this.collapsed ? (this.cachedOpenKeys = openKeys) : (this.openKeys = openKeys)
    }
  },
  render (h) {
    return h(
      Menu,
      {
        props: {
          theme: this.$props.theme,
          mode: this.$props.mode,
          openKeys: this.openKeys,
          selectedKeys: this.selectedKeys
        },
        on: {
          openChange: this.onOpenChange,
          select: obj => {
            this.selectedKeys = obj.selectedKeys
            this.$emit('select', obj)
          }
        }
      },
      this.renderMenu(h, this.menu)
    )
  }
}
LA22A07_Front/src/components/MultiTab/MultiTab.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,162 @@
<script>
import events from './events'
export default {
  name: 'MultiTab',
  data () {
    return {
      fullPathList: [],
      pages: [],
      activeKey: '',
      newTabIndex: 0
    }
  },
  created () {
    // bind event
    events.$on('open', val => {
      if (!val) {
        throw new Error(`multi-tab: open tab ${val} err`)
      }
      this.activeKey = val
    }).$on('close', val => {
      if (!val) {
        this.closeThat(this.activeKey)
        return
      }
      this.closeThat(val)
    }).$on('rename', ({ key, name }) => {
      try {
        const item = this.pages.find(item => item.path === key)
        item.meta.customTitle = name
        this.$forceUpdate()
      } catch (e) {
      }
    })
    this.pages.push(this.$route)
    this.fullPathList.push(this.$route.fullPath)
    this.selectedLastPath()
  },
  methods: {
    onEdit (targetKey, action) {
      this[action](targetKey)
    },
    remove (targetKey) {
      this.pages = this.pages.filter(page => page.fullPath !== targetKey)
      this.fullPathList = this.fullPathList.filter(path => path !== targetKey)
      // åˆ¤æ–­å½“前标签是否关闭,若关闭则跳转到最后一个还存在的标签页
      if (!this.fullPathList.includes(this.activeKey)) {
        this.selectedLastPath()
      }
    },
    selectedLastPath () {
      this.activeKey = this.fullPathList[this.fullPathList.length - 1]
    },
    // content menu
    closeThat (e) {
      // åˆ¤æ–­æ˜¯å¦ä¸ºæœ€åŽä¸€ä¸ªæ ‡ç­¾é¡µï¼Œå¦‚果是最后一个,则无法被关闭
      if (this.fullPathList.length > 1) {
        this.remove(e)
      } else {
        this.$message.info('这是最后一个标签了, æ— æ³•被关闭')
      }
    },
    closeLeft (e) {
      const currentIndex = this.fullPathList.indexOf(e)
      if (currentIndex > 0) {
        this.fullPathList.forEach((item, index) => {
          if (index < currentIndex) {
            this.remove(item)
          }
        })
      } else {
        this.$message.info('左侧没有标签')
      }
    },
    closeRight (e) {
      const currentIndex = this.fullPathList.indexOf(e)
      if (currentIndex < (this.fullPathList.length - 1)) {
        this.fullPathList.forEach((item, index) => {
          if (index > currentIndex) {
            this.remove(item)
          }
        })
      } else {
        this.$message.info('右侧没有标签')
      }
    },
    closeAll (e) {
      const currentIndex = this.fullPathList.indexOf(e)
      this.fullPathList.forEach((item, index) => {
        if (index !== currentIndex) {
          this.remove(item)
        }
      })
    },
    closeMenuClick (key, route) {
      this[key](route)
    },
    renderTabPaneMenu (e) {
      return (
        <a-menu {...{ on: { click: ({ key, item, domEvent }) => { this.closeMenuClick(key, e) } } }}>
          <a-menu-item key="closeThat">关闭当前标签</a-menu-item>
          <a-menu-item key="closeRight">关闭右侧</a-menu-item>
          <a-menu-item key="closeLeft">关闭左侧</a-menu-item>
          <a-menu-item key="closeAll">关闭全部</a-menu-item>
        </a-menu>
      )
    },
    // render
    renderTabPane (title, keyPath) {
      const menu = this.renderTabPaneMenu(keyPath)
      return (
        <a-dropdown overlay={menu} trigger={['contextmenu']}>
          <span style={{ userSelect: 'none' }}>{ title }</span>
        </a-dropdown>
      )
    }
  },
  watch: {
    '$route': function (newVal) {
      this.activeKey = newVal.fullPath
      if (this.fullPathList.indexOf(newVal.fullPath) < 0) {
        this.fullPathList.push(newVal.fullPath)
        this.pages.push(newVal)
      }
    },
    activeKey: function (newPathKey) {
      this.$router.push({ path: newPathKey })
    }
  },
  render () {
    const { onEdit, $data: { pages } } = this
    const panes = pages.map(page => {
      return (
        <a-tab-pane
          style={{ height: 0, background: '#8999ee', color: '#899ee' }}
          tab={this.renderTabPane(page.meta.customTitle || page.meta.title, page.fullPath)}
          key={page.fullPath} closable={pages.length > 1}
        >
        </a-tab-pane>)
    })
    return (
      <div class="ant-pro-multi-tab">
        <div class="ant-pro-multi-tab-wrapper">
          <a-tabs
            hideAdd
            tabBarGutter={-1}
            type={'editable-card'}
            v-model={this.activeKey}
            tabBarStyle={{ background: '#FFF', margin: 0, paddingLeft: '0px', paddingTop: '0px' }}
            {...{ on: { edit: onEdit } }}>
            {panes}
          </a-tabs>
        </div>
      </div>
    )
  }
}
</script>
LA22A07_Front/src/components/MultiTab/events.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,2 @@
import Vue from 'vue'
export default new Vue()
LA22A07_Front/src/components/MultiTab/index.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,40 @@
import events from './events'
import MultiTab from './MultiTab'
import './index.less'
const api = {
  /**
   * open new tab on route fullPath
   * @param config
   */
  open: function (config) {
    events.$emit('open', config)
  },
  rename: function (key, name) {
    events.$emit('rename', { key: key, name: name })
  },
  /**
   * close current page
   */
  closeCurrentPage: function () {
    this.close()
  },
  /**
   * close route fullPath tab
   * @param config
   */
  close: function (config) {
    events.$emit('close', config)
  }
}
MultiTab.install = function (Vue) {
  if (Vue.prototype.$multiTab) {
    return
  }
  api.instance = events
  Vue.prototype.$multiTab = api
  Vue.component('multi-tab', MultiTab)
}
export default MultiTab
LA22A07_Front/src/components/MultiTab/index.less
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,25 @@
@import '../index';
@multi-tab-prefix-cls: ~"@{ant-pro-prefix}-multi-tab";
@multi-tab-wrapper-prefix-cls: ~"@{ant-pro-prefix}-multi-tab-wrapper";
/*
.topmenu .@{multi-tab-prefix-cls} {
  max-width: 1200px;
  margin: -23px auto 24px auto;
}
*/
.@{multi-tab-prefix-cls} {
  margin: -23px -24px 24px -24px;
  background: #fff;
}
.topmenu .@{multi-tab-wrapper-prefix-cls} {
  max-width: 1200px;
  margin: 0 auto;
}
.topmenu.content-width-Fluid .@{multi-tab-wrapper-prefix-cls} {
  max-width: 100%;
  margin: 0 auto;
}
LA22A07_Front/src/components/NProgress/nprogress.less
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,76 @@
@import url('../index.less');
/* Make clicks pass-through */
#nprogress {
  pointer-events: none;
}
#nprogress .bar {
  background: @primary-color;
  position: fixed;
  z-index: 1031;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
}
/* Fancy blur effect */
#nprogress .peg {
  display: block;
  position: absolute;
  right: 0px;
  width: 100px;
  height: 100%;
  box-shadow: 0 0 10px @primary-color, 0 0 5px @primary-color;
  opacity: 1.0;
  -webkit-transform: rotate(3deg) translate(0px, -4px);
  -ms-transform: rotate(3deg) translate(0px, -4px);
  transform: rotate(3deg) translate(0px, -4px);
}
/* Remove these to get rid of the spinner */
#nprogress .spinner {
  display: block;
  position: fixed;
  z-index: 1031;
  top: 15px;
  right: 15px;
}
#nprogress .spinner-icon {
  width: 18px;
  height: 18px;
  box-sizing: border-box;
  border: solid 2px transparent;
  border-top-color: @primary-color;
  border-left-color: @primary-color;
  border-radius: 50%;
  -webkit-animation: nprogress-spinner 400ms linear infinite;
  animation: nprogress-spinner 400ms linear infinite;
}
.nprogress-custom-parent {
  overflow: hidden;
  position: relative;
}
.nprogress-custom-parent #nprogress .spinner,
.nprogress-custom-parent #nprogress .bar {
  position: absolute;
}
@-webkit-keyframes nprogress-spinner {
  0%   { -webkit-transform: rotate(0deg); }
  100% { -webkit-transform: rotate(360deg); }
}
@keyframes nprogress-spinner {
  0%   { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
LA22A07_Front/src/components/NoticeIcon/NoticeIcon.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,100 @@
<template>
  <a-popover
    v-model="visible"
    trigger="click"
    placement="bottomRight"
    overlayClassName="header-notice-wrapper"
    :getPopupContainer="() => $refs.noticeRef.parentElement"
    :autoAdjustOverflow="true"
    :arrowPointAtCenter="true"
    :overlayStyle="{ width: '300px', top: '50px' }"
  >
    <template slot="content">
      <a-spin :spinning="loading">
        <a-tabs>
          <a-tab-pane :tab="item.key" :key="item.key" v-for="item in userNotices.rows">
            <a-list
            ><a-list-item
               v-for="(notice, index) in item.noticeData.filter(m => {
                 return m.type == item.value
               })"
               :key="index"
             >
               <a-list-item-meta :title="notice.title" :description="notice.publicTime">
                 <a-avatar style="background-color: white" slot="avatar" :src="noticeImg" />
               </a-list-item-meta>
             </a-list-item>
              <a-list-item
                v-if="
                  item.noticeData.filter(m => {
                    return m.type == item.value
                  }).length > 0
                "
                style="display: block;text-align: center;"
              >
                <a-button type="link" @click="goMore()">去处理</a-button>
              </a-list-item>
            </a-list>
          </a-tab-pane>
        </a-tabs>
      </a-spin>
    </template>
    <span @click="fetchNotice" class="header-notice" ref="noticeRef" style="padding: 0 18px">
      <a-badge :count="userNotices.totalRows">
        <a-icon style="font-size: 16px; padding: 4px" type="bell" />
      </a-badge>
    </span>
  </a-popover>
</template>
<script>
import noticeImg from '../../assets/notice.png'
import { mapGetters } from 'vuex'
export default {
  name: 'HeaderNotice',
  data() {
    return {
      loading: false,
      visible: false,
      noticeImg: noticeImg
    }
  },
  mounted() {},
  computed: {
    ...mapGetters(['userNotices'])
  },
  methods: {
    fetchNotice() {
      // if (!this.visible) {
      //   this.loading = true
      //   setTimeout(() => {
      //     this.loading = false
      //   }, 100)
      // } else {
      //   this.loading = false
      // }
      this.visible = !this.visible
    },
    goMore() {
      this.visible = !this.visible
      this.$router.push('/noticeReceived')
    }
  }
}
</script>
<style lang="css">
.header-notice-wrapper {
  top: 50px !important;
}
</style>
<style lang="less" scoped>
.header-notice {
  display: inline-block;
  transition: all 0.3s;
  span {
    vertical-align: initial;
  }
}
</style>
LA22A07_Front/src/components/NoticeIcon/index.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,2 @@
import NoticeIcon from './NoticeIcon'
export default NoticeIcon
LA22A07_Front/src/components/NumberInfo/NumberInfo.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,54 @@
<template>
  <div :class="[prefixCls]">
    <slot name="subtitle">
      <div :class="[`${prefixCls}-subtitle`]">{{ typeof subTitle === 'string' ? subTitle : subTitle() }}</div>
    </slot>
    <div class="number-info-value">
      <span>{{ total }}</span>
      <span class="sub-total">
        {{ subTotal }}
        <icon :type="`caret-${status}`" />
      </span>
    </div>
  </div>
</template>
<script>
import Icon from 'ant-design-vue/es/icon'
export default {
  name: 'NumberInfo',
  props: {
    prefixCls: {
      type: String,
      default: 'ant-pro-number-info'
    },
    total: {
      type: Number,
      required: true
    },
    subTotal: {
      type: Number,
      required: true
    },
    subTitle: {
      type: [String, Function],
      default: ''
    },
    status: {
      type: String,
      default: 'up'
    }
  },
  components: {
    Icon
  },
  data () {
    return {}
  }
}
</script>
<style lang="less" scoped>
  //@import "index";
</style>
LA22A07_Front/src/components/NumberInfo/index.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,3 @@
import NumberInfo from './NumberInfo'
export default NumberInfo
LA22A07_Front/src/components/NumberInfo/index.less
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,55 @@
@import "../index";
@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;
        }
      }
    }
  }
}
LA22A07_Front/src/components/NumberInfo/index.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,43 @@
# NumberInfo æ•°æ®æ–‡æœ¬
常用在数据卡片中,用于突出展示某个业务数据。
引用方式:
```javascript
import NumberInfo from '@/components/NumberInfo'
export default {
    components: {
        NumberInfo
    }
}
```
## ä»£ç æ¼”示  [demo](https://pro.loacg.com/test/home)
```html
<number-info
    :sub-title="() => { return 'Visits this week' }"
    :total="12321"
    status="up"
    :sub-total="17.1"></number-info>
```
## API
参数 | è¯´æ˜Ž | ç±»åž‹ | é»˜è®¤å€¼
----|------|-----|------
title | æ ‡é¢˜ | ReactNode\|string | -
subTitle | å­æ ‡é¢˜ | ReactNode\|string | -
total | æ€»é‡ | ReactNode\|string | -
subTotal | å­æ€»é‡ | ReactNode\|string | -
status | å¢žåŠ çŠ¶æ€ | 'up \| down' | -
theme | çŠ¶æ€æ ·å¼ | string | 'light'
gap | è®¾ç½®æ•°å­—和描述之间的间距(像素)| number | 8
LA22A07_Front/src/components/PageHeader/PageHeader.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,214 @@
<template>
  <div class="page-header">
    <div class="page-header-index-wide">
      <s-breadcrumb v-if="crumbsState" />
      <div class="detail">
        <div class="main" v-if="!$route.meta.hiddenHeaderContent">
          <div class="row">
            <img v-if="logo" :src="logo" class="logo"/>
            <h1 v-if="title" class="title">{{ title }}</h1>
            <div class="action">
              <slot name="action"></slot>
            </div>
          </div>
          <div class="row">
            <div v-if="avatar" class="avatar">
              <a-avatar :src="avatar" />
            </div>
            <div v-if="this.$slots.content" class="headerContent">
              <slot name="content"></slot>
            </div>
            <div v-if="this.$slots.extra" class="extra">
              <slot name="extra"></slot>
            </div>
          </div>
          <div>
            <slot name="pageMenu"></slot>
          </div>
        </div>
      </div>
    </div>
  </div>
</template>
<script>
import Breadcrumb from '@/components/tools/Breadcrumb'
export default {
  name: 'PageHeader',
  components: {
    's-breadcrumb': Breadcrumb
  },
  props: {
    title: {
      type: [String, Boolean],
      default: true,
      required: false
    },
    logo: {
      type: String,
      default: '',
      required: false
    },
    avatar: {
      type: String,
      default: '',
      required: false
    }
  },
  data () {
    return {
      crumbsState: this.$store.state.app.crumbsState
      }
  },
  computed: {
    getCrumbsState() {
      return this.$store.state.app.crumbsState
    }
  },
  watch: {
    getCrumbsState (newVal, oldVal) {
      this.crumbsState = newVal
    }
  }
}
</script>
<style lang="less" scoped>
.page-header {
  background: #fff;
  padding: 10px 32px 0;
  border-bottom: 0px solid #e8e8e8;
  .breadcrumb {
    margin-bottom: 10px;
  }
  .detail {
    display: flex;
    /*margin-bottom: 16px;*/
    .avatar {
      flex: 0 1 72px;
      margin: 0 24px 8px 0;
      & > span {
        border-radius: 72px;
        display: block;
        width: 72px;
        height: 72px;
      }
    }
    .main {
      width: 100%;
      flex: 0 1 auto;
      .row {
        display: flex;
        width: 100%;
        .avatar {
          margin-bottom: 10px;
        }
      }
      .title {
        font-size: 20px;
        font-weight: 500;
        font-size: 20px;
        line-height: 28px;
        font-weight: 500;
        color: rgba(0, 0, 0, 0.85);
        margin-bottom: 16px;
        flex: auto;
      }
      .logo {
        width: 28px;
        height: 28px;
        border-radius: 4px;
        margin-right: 16px;
      }
      .content,
      .headerContent {
        flex: auto;
        color: rgba(0, 0, 0, 0.45);
        line-height: 22px;
        .link {
          margin-top: 16px;
          line-height: 24px;
          a {
            font-size: 14px;
            margin-right: 32px;
          }
        }
      }
      .extra {
        flex: 0 1 auto;
        margin-left: 88px;
        min-width: 242px;
        text-align: right;
      }
      .action {
        margin-left: 56px;
        min-width: 266px;
        flex: 0 1 auto;
        text-align: right;
        &:empty {
          display: none;
        }
      }
    }
  }
}
.mobile .page-header {
  .main {
    .row {
      flex-wrap: wrap;
      .avatar {
        flex: 0 1 25%;
        margin: 0 2% 8px 0;
      }
      .content,
      .headerContent {
        flex: 0 1 70%;
        .link {
          margin-top: 16px;
          line-height: 24px;
          a {
            font-size: 14px;
            margin-right: 10px;
          }
        }
      }
      .extra {
        flex: 1 1 auto;
        margin-left: 0;
        min-width: 0;
        text-align: right;
      }
      .action {
        margin-left: unset;
        min-width: 266px;
        flex: 0 1 auto;
        text-align: left;
        margin-bottom: 12px;
        &:empty {
          display: none;
        }
      }
    }
  }
}
</style>
LA22A07_Front/src/components/PageHeader/index.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,2 @@
import PageHeader from './PageHeader'
export default PageHeader
LA22A07_Front/src/components/PageLoading/index.jsx
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,106 @@
import { Spin } from 'ant-design-vue'
export const PageLoading = {
  name: 'PageLoading',
  props: {
    tip: {
      type: String,
      default: 'Loading..'
    },
    size: {
      type: String,
      default: 'large'
    }
  },
  render () {
    const style = {
      textAlign: 'center',
      background: 'rgba(0,0,0,0.6)',
      position: 'fixed',
      top: 0,
      bottom: 0,
      left: 0,
      right: 0,
      zIndex: 1100
    }
    const spinStyle = {
      position: 'absolute',
      left: '50%',
      top: '40%',
      transform: 'translate(-50%, -50%)'
    }
    return (<div style={style}>
      <Spin size={this.size} style={spinStyle} tip={this.tip} />
    </div>)
  }
}
const version = '0.0.1'
const loading = {}
loading.newInstance = (Vue, options) => {
  let loadingElement = document.querySelector('body>div[type=loading]')
  if (!loadingElement) {
    loadingElement = document.createElement('div')
    loadingElement.setAttribute('type', 'loading')
    loadingElement.setAttribute('class', 'ant-loading-wrapper')
    document.body.appendChild(loadingElement)
  }
  const cdProps = Object.assign({ visible: false, size: 'large', tip: 'Loading...' }, options)
  const instance = new Vue({
    data () {
      return {
        ...cdProps
      }
    },
    render () {
      const { tip } = this
      const props = {}
      this.tip && (props.tip = tip)
      if (this.visible) {
        return <PageLoading { ...{ props } } />
      }
      return null
    }
  }).$mount(loadingElement)
  function update (config) {
    const { visible, size, tip } = { ...cdProps, ...config }
    instance.$set(instance, 'visible', visible)
    if (tip) {
      instance.$set(instance, 'tip', tip)
    }
    if (size) {
      instance.$set(instance, 'size', size)
    }
  }
  return {
    instance,
    update
  }
}
const api = {
  show: function (options) {
    this.instance.update({ ...options, visible: true })
  },
  hide: function () {
    this.instance.update({ visible: false })
  }
}
const install = function (Vue, options) {
  if (Vue.prototype.$loading) {
    return
  }
  api.instance = loading.newInstance(Vue, options)
  Vue.prototype.$loading = api
}
export default {
  version,
  install
}
LA22A07_Front/src/components/Result/Result.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,109 @@
<template>
  <div class="result">
    <div>
      <a-icon :class="{ 'icon': true, [`${type}`]: true }" :type="localIsSuccess ? 'check-circle' : 'close-circle'"/>
    </div>
    <div class="title">
      <slot name="title">
        {{ title }}
      </slot>
    </div>
    <div class="description">
      <slot name="description">
        {{ description }}
      </slot>
    </div>
    <div class="extra" v-if="$slots.default">
      <slot></slot>
    </div>
    <div class="action" v-if="$slots.action">
      <slot name="action"></slot>
    </div>
  </div>
</template>
<script>
const resultEnum = ['success', 'error']
export default {
  name: 'Result',
  props: {
    /** @Deprecated */
    isSuccess: {
      type: Boolean,
      default: false
    },
    type: {
      type: String,
      default: resultEnum[0],
      validator (val) {
        return (val) => resultEnum.includes(val)
      }
    },
    title: {
      type: String,
      default: ''
    },
    description: {
      type: String,
      default: ''
    }
  },
  computed: {
    localIsSuccess: function () {
      return this.type === resultEnum[0]
    }
  }
}
</script>
<style lang="less" scoped>
  .result {
    text-align: center;
    width: 72%;
    margin: 0 auto;
    padding: 24px 0 8px;
    .icon {
      font-size: 72px;
      line-height: 72px;
      margin-bottom: 24px;
    }
    .success {
      color: #52c41a;
    }
    .error {
      color: red;
    }
    .title {
      font-size: 24px;
      color: rgba(0, 0, 0, .85);
      font-weight: 500;
      line-height: 32px;
      margin-bottom: 16px;
    }
    .description {
      font-size: 14px;
      line-height: 22px;
      color: rgba(0, 0, 0, 0.45);
      margin-bottom: 24px;
    }
    .extra {
      background: #fafafa;
      padding: 24px 40px;
      border-radius: 2px;
      text-align: left;
    }
    .action {
      margin-top: 32px;
    }
  }
  .mobile {
    .result {
      width: 100%;
      margin: 0 auto;
      padding: unset;
    }
  }
</style>
LA22A07_Front/src/components/Result/index.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,2 @@
import Result from './Result.vue'
export default Result
LA22A07_Front/src/components/Search/GlobalSearch.jsx
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,62 @@
import { Select } from 'ant-design-vue'
import './index.less'
const GlobalSearch = {
  name: 'GlobalSearch',
  data () {
    return {
      visible: false
    }
  },
  mounted () {
    const keyboardHandle = (e) => {
      e.preventDefault()
      e.stopPropagation()
      const { ctrlKey, shiftKey, altKey, keyCode } = e
      // key is `K` and hold ctrl
      if (keyCode === 75 && ctrlKey && !shiftKey && !altKey) {
        this.visible = !this.visible
      }
    }
    document.addEventListener('keydown', keyboardHandle)
  },
  render () {
    const { visible } = this
    const handleSearch = (e) => {
      this.$emit('search', e)
    }
    const handleChange = (e) => {
      this.$emit('change', e)
    }
    if (!visible) {
      return null
    }
    return (
      <div class={'global-search global-search-wrapper'}>
        <div class={'global-search-box'}>
          <Select
            size={'large'}
            showSearch
            placeholder="Input search text.."
            style={{ width: '100%' }}
            defaultActiveFirstOption={false}
            showArrow={false}
            filterOption={false}
            onSearch={handleSearch}
            onChange={handleChange}
            notFoundContent={null}
          >
          </Select>
          <div class={'global-search-tips'}>Open with Ctrl/⌘ + K</div>
        </div>
      </div>
    )
  }
}
GlobalSearch.install = function (Vue) {
  Vue.component(GlobalSearch.name, GlobalSearch)
}
export default GlobalSearch
LA22A07_Front/src/components/Search/index.less
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,25 @@
@import "~ant-design-vue/es/style/themes/default";
.global-search-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: @zindex-modal-mask;
  background: @modal-mask-bg;
  .global-search-box {
    position: absolute;
    top: 20%;
    left: 50%;
    width: 450px;
    transform: translate(-50%, -50%);
    .global-search-tips {
      color: @white;
      font-size: @font-size-lg;
      text-align: right;
    }
  }
}
LA22A07_Front/src/components/SettingDrawer/SettingDrawer.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,360 @@
<template>
  <div class="setting-drawer">
    <a-drawer
      width="300"
      placement="right"
      @close="onClose"
      :closable="false"
      :visible="visible"
      :drawer-style="{ position: 'absolute' }"
      style="z-index: 999"
    >
      <div class="setting-drawer-index-content">
        <div :style="{ marginBottom: '24px' }">
          <h3 class="setting-drawer-index-title">整体风格设置</h3>
          <div class="setting-drawer-index-blockChecbox">
            <a-tooltip>
              <template slot="title">
                æš—色菜单风格
              </template>
              <div class="setting-drawer-index-item" @click="handleMenuTheme('dark')">
                <img src="https://gw.alipayobjects.com/zos/rmsportal/LCkqqYNmvBEbokSDscrm.svg" alt="dark">
                <div class="setting-drawer-index-selectIcon" v-if="navTheme === 'dark'">
                  <a-icon type="check"/>
                </div>
              </div>
            </a-tooltip>
            <a-tooltip>
              <template slot="title">
                äº®è‰²èœå•风格
              </template>
              <div class="setting-drawer-index-item" @click="handleMenuTheme('light')">
                <img src="https://gw.alipayobjects.com/zos/rmsportal/jpRkZQMyYRryryPNtyIC.svg" alt="light">
                <div class="setting-drawer-index-selectIcon" v-if="navTheme !== 'dark'">
                  <a-icon type="check"/>
                </div>
              </div>
            </a-tooltip>
          </div>
        </div>
        <div :style="{ marginBottom: '24px' }">
          <h3 class="setting-drawer-index-title">主题色</h3>
          <div style="height: 20px">
            <a-tooltip class="setting-drawer-theme-color-colorBlock" v-for="(item, index) in colorList" :key="index">
              <template slot="title">
                {{ item.key }}
              </template>
              <a-tag :color="item.color" @click="changeColor(item.color)">
                <a-icon type="check" v-if="item.color === primaryColor"></a-icon>
              </a-tag>
            </a-tooltip>
          </div>
        </div>
        <a-divider />
        <div :style="{ marginBottom: '24px' }">
          <h3 class="setting-drawer-index-title">导航模式</h3>
          <div class="setting-drawer-index-blockChecbox">
            <a-tooltip>
              <template slot="title">
                ä¾§è¾¹æ å¯¼èˆª
              </template>
              <div class="setting-drawer-index-item" @click="handleLayout('sidemenu')">
                <img src="https://gw.alipayobjects.com/zos/rmsportal/JopDzEhOqwOjeNTXkoje.svg" alt="sidemenu">
                <div class="setting-drawer-index-selectIcon" v-if="layoutMode === 'sidemenu'">
                  <a-icon type="check"/>
                </div>
              </div>
            </a-tooltip>
            <a-tooltip>
              <template slot="title">
                é¡¶éƒ¨æ å¯¼èˆª
              </template>
              <div class="setting-drawer-index-item" @click="handleLayout('topmenu')">
                <img src="https://gw.alipayobjects.com/zos/rmsportal/KDNDBbriJhLwuqMoxcAr.svg" alt="topmenu">
                <div class="setting-drawer-index-selectIcon" v-if="layoutMode !== 'sidemenu'">
                  <a-icon type="check"/>
                </div>
              </div>
            </a-tooltip>
          </div>
          <div :style="{ marginTop: '24px' }">
            <a-list :split="false">
              <a-list-item>
                <a-tooltip slot="actions">
                  <template slot="title">
                    è¯¥è®¾å®šä»… [顶部栏导航] æ—¶æœ‰æ•ˆ
                  </template>
                  <a-select size="small" style="width: 80px;" :defaultValue="contentWidth" @change="handleContentWidthChange">
                    <a-select-option value="Fixed">固定</a-select-option>
                    <a-select-option value="Fluid" v-if="layoutMode !== 'sidemenu'">流式</a-select-option>
                  </a-select>
                </a-tooltip>
                <a-list-item-meta>
                  <div slot="title">内容区域宽度</div>
                </a-list-item-meta>
              </a-list-item>
              <a-list-item>
                <a-switch slot="actions" size="small" :defaultChecked="fixedHeader" @change="handleFixedHeader" />
                <a-list-item-meta>
                  <div slot="title">固定 Header</div>
                </a-list-item-meta>
              </a-list-item>
              <a-list-item>
                <a-switch slot="actions" size="small" :disabled="!fixedHeader" :defaultChecked="autoHideHeader" @change="handleFixedHeaderHidden" />
                <a-list-item-meta>
                  <a-tooltip slot="title" placement="left">
                    <template slot="title">固定 Header æ—¶å¯é…ç½®</template>
                    <div :style="{ opacity: !fixedHeader ? '0.5' : '1' }">下滑时隐藏 Header</div>
                  </a-tooltip>
                </a-list-item-meta>
              </a-list-item>
              <a-list-item >
                <a-switch slot="actions" size="small" :disabled="(layoutMode === 'topmenu')" :defaultChecked="fixSiderbar" @change="handleFixSiderbar" />
                <a-list-item-meta>
                  <div slot="title" :style="{ textDecoration: layoutMode === 'topmenu' ? 'line-through' : 'unset' }">固定侧边菜单</div>
                </a-list-item-meta>
              </a-list-item>
            </a-list>
          </div>
        </div>
        <a-divider />
        <div :style="{ marginBottom: '24px' }">
          <h3 class="setting-drawer-index-title">其他设置</h3>
          <div>
            <a-list :split="false">
              <a-list-item>
                <a-switch slot="actions" size="small" :defaultChecked="colorWeak" @change="onColorWeak" />
                <a-list-item-meta>
                  <div slot="title">色弱模式</div>
                </a-list-item-meta>
              </a-list-item>
              <a-list-item>
                <a-switch slot="actions" size="small" :defaultChecked="multiTab" @change="onMultiTab" />
                <a-list-item-meta>
                  <div slot="title">多页签模式</div>
                </a-list-item-meta>
              </a-list-item>
              <a-list-item>
                <a-switch slot="actions" size="small" :defaultChecked="crumbsState" @change="onCrumbs" />
                <a-list-item-meta>
                  <div slot="title">显示面包屑</div>
                </a-list-item-meta>
              </a-list-item>
            </a-list>
          </div>
        </div>
        <a-divider />
        <div :style="{ marginBottom: '24px' }">
          <a-button
            @click="doCopy"
            icon="copy"
            block
          >拷贝设置</a-button>
          <a-alert type="warning" :style="{ marginTop: '24px' }">
            <span slot="message">
              é…ç½®æ åªåœ¨å¼€å‘环境用于预览,生产环境不会展现,请手动修改配置文件。修改配置文件后,需要清空本地缓存和LocalStorage
              <a href="https://github.com/sendya/ant-design-pro-vue/blob/master/src/config/defaultSettings.js" target="_blank">src/config/defaultSettings.js</a>
            </span>
          </a-alert>
        </div>
      </div>
      <div class="setting-drawer-index-handle" @click="toggle" slot="handle">
        <a-icon type="setting" v-if="!visible"/>
        <a-icon type="close" v-else/>
      </div>
    </a-drawer>
  </div>
</template>
<script>
/* import { DetailList } from '@/components'
import SettingItem from './SettingItem' */
import config from '@/config/defaultSettings'
import { updateTheme, updateColorWeak, colorList } from './settingConfig'
import { mixin, mixinDevice } from '@/utils/mixin'
export default {
  components: {
    // DetailList,
    // SettingItem
  },
  mixins: [mixin, mixinDevice],
  data () {
    return {
      visible: false,
      colorList
    }
  },
  watch: {
  },
  mounted () {
    updateTheme(this.primaryColor)
    if (this.colorWeak !== config.colorWeak) {
      updateColorWeak(this.colorWeak)
    }
  },
  methods: {
    showDrawer () {
      this.visible = true
    },
    onClose () {
      this.visible = false
    },
    toggle () {
      this.visible = !this.visible
    },
    onColorWeak (checked) {
      this.$store.dispatch('ToggleWeak', checked)
      updateColorWeak(checked)
    },
    onMultiTab (checked) {
      this.$store.dispatch('ToggleMultiTab', checked)
    },
    onCrumbs(checked) {
      this.$store.dispatch('ToggleCrumbsState', checked)
    },
    handleMenuTheme (theme) {
      this.$store.dispatch('ToggleTheme', theme)
    },
    doCopy () {
      // get current settings from mixin or this.$store.state.app, pay attention to the property name
      const text = `export default {
  primaryColor: '${this.primaryColor}', // primary color of ant design
  navTheme: '${this.navTheme}', // theme for nav menu
  layout: '${this.layoutMode}', // nav menu position: sidemenu or topmenu
  contentWidth: '${this.contentWidth}', // layout of content: Fluid or Fixed, only works when layout is topmenu
  fixedHeader: ${this.fixedHeader}, // sticky header
  fixSiderbar: ${this.fixSiderbar}, // sticky siderbar
  autoHideHeader: ${this.autoHideHeader}, //  auto hide header
  colorWeak: ${this.colorWeak},
  multiTab: ${this.multiTab},
  crumbsState: ${this.crumbsState},
  production: process.env.NODE_ENV === 'production' && process.env.VUE_APP_PREVIEW !== 'true',
  // vue-ls options
  storageOptions: {
    namespace: 'pro__',
    name: 'ls',
    storage: 'local',
  }
}`
      this.$copyText(text).then(message => {
        this.$message.success('复制完毕')
      }).catch(err => {
        this.$message.error('复制失败')
      })
    },
    handleLayout (mode) {
      this.$store.dispatch('ToggleLayoutMode', mode)
      // å› ä¸ºé¡¶éƒ¨èœå•不能固定左侧菜单栏,所以强制关闭
      this.handleFixSiderbar(false)
    },
    handleContentWidthChange (type) {
      this.$store.dispatch('ToggleContentWidth', type)
    },
    changeColor (color) {
      if (this.primaryColor !== color) {
        this.$store.dispatch('ToggleColor', color)
        updateTheme(color)
      }
    },
    handleFixedHeader (fixed) {
      this.$store.dispatch('ToggleFixedHeader', fixed)
    },
    handleFixedHeaderHidden (autoHidden) {
      this.$store.dispatch('ToggleFixedHeaderHidden', autoHidden)
    },
    handleFixSiderbar (fixed) {
      if (this.layoutMode === 'topmenu') {
        this.$store.dispatch('ToggleFixSiderbar', false)
        return
      }
      this.$store.dispatch('ToggleFixSiderbar', fixed)
    }
  }
}
</script>
<style lang="less" scoped>
  .setting-drawer-index-content {
    .setting-drawer-index-blockChecbox {
      display: flex;
      .setting-drawer-index-item {
        margin-right: 16px;
        position: relative;
        border-radius: 4px;
        cursor: pointer;
        img {
          width: 48px;
        }
        .setting-drawer-index-selectIcon {
          position: absolute;
          top: 0;
          right: 0;
          width: 100%;
          padding-top: 15px;
          padding-left: 24px;
          height: 100%;
          color: #1890ff;
          font-size: 14px;
          font-weight: 700;
        }
      }
    }
    .setting-drawer-theme-color-colorBlock {
      width: 20px;
      height: 20px;
      border-radius: 2px;
      float: left;
      cursor: pointer;
      margin-right: 8px;
      padding-left: 0px;
      padding-right: 0px;
      text-align: center;
      color: #fff;
      font-weight: 700;
      i {
        font-size: 14px;
      }
    }
  }
  .setting-drawer-index-handle {
    position: absolute;
    top: 240px;
    background: #1890ff;
    width: 48px;
    height: 48px;
    right: 300px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    pointer-events: auto;
    z-index: 1001;
    text-align: center;
    font-size: 16px;
    border-radius: 4px 0 0 4px;
    i {
      color: rgb(255, 255, 255);
      font-size: 20px;
    }
  }
</style>
LA22A07_Front/src/components/SettingDrawer/SettingItem.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,38 @@
<template>
  <div class="setting-drawer-index-item">
    <h3 class="setting-drawer-index-title">{{ title }}</h3>
    <slot></slot>
    <a-divider v-if="divider"/>
  </div>
</template>
<script>
export default {
  name: 'SettingItem',
  props: {
    title: {
      type: String,
      default: ''
    },
    divider: {
      type: Boolean,
      default: false
    }
  }
}
</script>
<style lang="less" scoped>
  .setting-drawer-index-item {
    margin-bottom: 24px;
    .setting-drawer-index-title {
      font-size: 14px;
      color: rgba(0, 0, 0, .85);
      line-height: 22px;
      margin-bottom: 12px;
    }
  }
</style>
LA22A07_Front/src/components/SettingDrawer/index.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,2 @@
import SettingDrawer from './SettingDrawer'
export default SettingDrawer
LA22A07_Front/src/components/SettingDrawer/settingConfig.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,46 @@
import { message } from 'ant-design-vue/es'
import themeColor from './themeColor.js'
const colorList = [
  {
    key: '薄暮', color: '#F5222D'
  },
  {
    key: '火山', color: '#FA541C'
  },
  {
    key: '日暮', color: '#FAAD14'
  },
  {
    key: '明青', color: '#13C2C2'
  },
  {
    key: '极光绿', color: '#52C41A'
  },
  {
    key: '拂晓蓝(默认)', color: '#1890FF'
  },
  {
    key: '极客蓝', color: '#2F54EB'
  },
  {
    key: '酱紫', color: '#722ED1'
  }
]
const updateTheme = newPrimaryColor => {
  const hideMessage = message.loading('正在切换主题!', 0)
  themeColor.changeColor(newPrimaryColor).finally(t => {
    setTimeout(() => {
      hideMessage()
    }, 10)
  })
}
const updateColorWeak = colorWeak => {
  // document.body.className = colorWeak ? 'colorWeak' : '';
  const app = document.body.querySelector('#app')
  colorWeak ? app.classList.add('colorWeak') : app.classList.remove('colorWeak')
}
export { updateTheme, colorList, updateColorWeak }
LA22A07_Front/src/components/SettingDrawer/themeColor.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
import client from 'webpack-theme-color-replacer/client'
import generate from '@ant-design/colors/lib/generate'
export default {
  getAntdSerials (color) {
    // æ·¡åŒ–(即less的tint)
    const lightens = new Array(9).fill().map((t, i) => {
      return client.varyColor.lighten(color, i / 10)
    })
    // colorPalette变换得到颜色值
    const colorPalettes = generate(color)
    const rgb = client.varyColor.toNum3(color.replace('#', '')).join(',')
    return lightens.concat(colorPalettes).concat(rgb)
  },
  changeColor (newColor) {
    var options = {
      newColors: this.getAntdSerials(newColor), // new colors array, one-to-one corresponde with `matchColors`
      changeUrl (cssUrl) {
        return `/${cssUrl}` // while router is not `hash` mode, it needs absolute path
      }
    }
    return client.changer.changeColor(options, Promise)
  }
}
LA22A07_Front/src/components/StandardFormRow/StandardFormRow.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,122 @@
<template>
  <div :class="[prefixCls, lastCls, blockCls, gridCls]">
    <div v-if="title" class="antd-pro-components-standard-form-row-index-label">
      <span>{{ title }}</span>
    </div>
    <div class="antd-pro-components-standard-form-row-index-content">
      <slot></slot>
    </div>
  </div>
</template>
<script>
const classes = [
  'antd-pro-components-standard-form-row-index-standardFormRowBlock',
  'antd-pro-components-standard-form-row-index-standardFormRowGrid',
  'antd-pro-components-standard-form-row-index-standardFormRowLast'
]
export default {
  name: 'StandardFormRow',
  props: {
    prefixCls: {
      type: String,
      default: 'antd-pro-components-standard-form-row-index-standardFormRow'
    },
    title: {
      type: String,
      default: undefined
    },
    last: {
      type: Boolean
    },
    block: {
      type: Boolean
    },
    grid: {
      type: Boolean
    }
  },
  computed: {
    lastCls () {
      return this.last ? classes[2] : null
    },
    blockCls () {
      return this.block ? classes[0] : null
    },
    gridCls () {
      return this.grid ? classes[1] : null
    }
  }
}
</script>
<style lang="less" scoped>
@import '../index.less';
.antd-pro-components-standard-form-row-index-standardFormRow {
  display: flex;
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px dashed @border-color-split;
  /deep/ .ant-form-item {
    margin-right: 24px;
  }
  /deep/ .ant-form-item-label label {
    margin-right: 0;
    color: @text-color;
  }
  /deep/ .ant-form-item-label,
  .ant-form-item-control {
    padding: 0;
    line-height: 32px;
  }
  .antd-pro-components-standard-form-row-index-label {
    flex: 0 0 auto;
    margin-right: 24px;
    color: @heading-color;
    font-size: @font-size-base;
    text-align: right;
    & > span {
      display: inline-block;
      height: 32px;
      line-height: 32px;
      &::after {
        content: ':';
      }
    }
  }
  .antd-pro-components-standard-form-row-index-content {
    flex: 1 1 0;
    /deep/ .ant-form-item:last-child {
      margin-right: 0;
    }
  }
  &.antd-pro-components-standard-form-row-index-standardFormRowLast {
    margin-bottom: 0;
    padding-bottom: 0;
    border: none;
  }
  &.antd-pro-components-standard-form-row-index-standardFormRowBlock {
    /deep/ .ant-form-item,
    div.ant-form-item-control-wrapper {
      display: block;
    }
  }
  &.antd-pro-components-standard-form-row-index-standardFormRowGrid {
      /deep/ .ant-form-item,
      div.ant-form-item-control-wrapper {
        display: block;
      }
      /deep/ .ant-form-item-label {
        float: left;
      }
  }
}
</style>
LA22A07_Front/src/components/StandardFormRow/index.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,3 @@
import StandardFormRow from './StandardFormRow'
export default StandardFormRow
LA22A07_Front/src/components/Table/README.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,338 @@
Table é‡å°è£…组件说明
====
封装说明
----
>  åŸºç¡€çš„使用方式与 API ä¸Ž [官方版(Table)](https://vuecomponent.github.io/ant-design-vue/components/table-cn/) æœ¬ä¸€è‡´ï¼Œåœ¨å…¶åŸºç¡€ä¸Šï¼Œå°è£…了加载数据的方法。
>
> ä½ æ— éœ€åœ¨ä½ æ˜¯ç”¨è¡¨æ ¼çš„页面进行分页逻辑处理,仅需向 Table ç»„件传递绑定 `:data="Promise"` å¯¹è±¡å³å¯
该 `table` ç”± [@Saraka](https://github.com/saraka-tsukai) å®Œæˆå°è£…
例子1
----
(基础使用)
```vue
<template>
  <s-table
    ref="table"
    :rowKey="(record) => record.data.id"
    :columns="columns"
    :data="loadData"
    :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
  >
  </s-table>
</template>
<script>
  import STable from '@/components'
  export default {
    components: {
      STable
    },
    data() {
      return {
        columns: [
          {
            title: '规则编号',
            dataIndex: 'no'
          },
          {
            title: '描述',
            dataIndex: 'description'
          },
          {
            title: '服务调用次数',
            dataIndex: 'callNo',
            sorter: true,
            needTotal: true,
            customRender: (text) => text + ' æ¬¡'
          },
          {
            title: '状态',
            dataIndex: 'status',
            needTotal: true
          },
          {
            title: '更新时间',
            dataIndex: 'updatedAt',
            sorter: true
          }
        ],
        // æŸ¥è¯¢æ¡ä»¶å‚æ•°
        queryParam: {},
        // åŠ è½½æ•°æ®æ–¹æ³• å¿…须为 Promise å¯¹è±¡
        loadData: parameter => {
          return this.$http.get('/service', {
            params: Object.assign(parameter, this.queryParam)
          }).then(res => {
            return res.result
          })
        },
        selectedRowKeys: [],
        selectedRows: []
      }
    },
    methods: {
      onSelectChange (selectedRowKeys, selectedRows) {
         this.selectedRowKeys = selectedRowKeys
         this.selectedRows = selectedRows
       }
    }
  }
</script>
```
例子2
----
(简单的表格,最后一列是各种操作)
```vue
<template>
  <s-table
    ref="table"
    :columns="columns"
    :data="loadData"
  >
    <span slot="action" slot-scope="text, record">
      <a>编辑</a>
      <a-divider type="vertical"/>
      <a-dropdown>
        <a class="ant-dropdown-link">
          æ›´å¤š <a-icon type="down"/>
        </a>
        <a-menu slot="overlay">
          <a-menu-item>
            <a href="javascript:;">1st menu item</a>
          </a-menu-item>
          <a-menu-item>
            <a href="javascript:;">2nd menu item</a>
          </a-menu-item>
          <a-menu-item>
            <a href="javascript:;">3rd menu item</a>
          </a-menu-item>
        </a-menu>
      </a-dropdown>
    </span>
  </s-table>
</template>
<script>
  import STable from '@/components/table/'
  export default {
    components: {
      STable
    },
    data() {
      return {
        columns: [
          {
            title: '规则编号',
            dataIndex: 'no'
          },
          {
            title: '描述',
            dataIndex: 'description'
          },
          {
            title: '服务调用次数',
            dataIndex: 'callNo',
          },
          {
            title: '状态',
            dataIndex: 'status',
          },
          {
            title: '更新时间',
            dataIndex: 'updatedAt',
          },
          {
            table: '操作',
            dataIndex: 'action',
            scopedSlots: {customRender: 'action'},
          }
        ],
        // æŸ¥è¯¢æ¡ä»¶å‚æ•°
        queryParam: {},
        // åŠ è½½æ•°æ®æ–¹æ³• å¿…须为 Promise å¯¹è±¡
        loadData: parameter => {
          return this.$http.get('/service', {
            params: Object.assign(parameter, this.queryParam)
          }).then(res => {
            return res.result
          })
        },
      }
    },
    methods: {
      edit(row) {
        // axios å‘送数据到后端 ä¿®æ”¹æ•°æ®æˆåŠŸåŽ
        // è°ƒç”¨ refresh() é‡æ–°åŠ è½½åˆ—è¡¨æ•°æ®
        // è¿™é‡Œ setTimeout æ¨¡æ‹Ÿå‘起请求的网络延迟..
        setTimeout(() => {
          this.$refs.table.refresh() // refresh() ä¸ä¼ å‚默认值 false ä¸åˆ·æ–°åˆ°åˆ†é¡µç¬¬ä¸€é¡µ
        }, 1500)
      }
    }
  }
</script>
```
内置方法
----
通过 `this.$refs.table` è°ƒç”¨
`this.$refs.table.refresh(true)` åˆ·æ–°åˆ—表 (用户新增/修改数据后,重载列表数据)
> æ³¨æ„ï¼šè¦è°ƒç”¨ `refresh(bool)` éœ€è¦ç»™è¡¨æ ¼ç»„件设定 `ref` å€¼
>
> `refresh()` æ–¹æ³•可以传一个 `bool` å€¼ï¼Œå½“有传值 æˆ–值为 `true` æ—¶ï¼Œåˆ™åˆ·æ–°æ—¶ä¼šå¼ºåˆ¶åˆ·æ–°åˆ°ç¬¬ä¸€é¡µï¼ˆå¸¸ç”¨æˆ·é¡µé¢ æœç´¢ æŒ‰é’®è¿›è¡Œæœç´¢æ—¶ï¼Œç»“果从第一页开始分页)
内置属性
----
> é™¤åŽ» `a-table` è‡ªå¸¦å±žæ€§å¤–,还而外提供了一些额外属性属性
| å±žæ€§           | è¯´æ˜Ž                                            | ç±»åž‹              | é»˜è®¤å€¼ |
| -------------- | ----------------------------------------------- | ----------------- | ------ |
| alert          | è®¾ç½®æ˜¯å¦æ˜¾ç¤ºè¡¨æ ¼ä¿¡æ¯æ                           | [object, boolean] | null   |
| showPagination | æ˜¾ç¤ºåˆ†é¡µé€‰æ‹©å™¨ï¼Œå¯ä¼  'auto' \| boolean          | [string, boolean] | 'auto' |
| data           | åŠ è½½æ•°æ®æ–¹æ³• å¿…须为 `Promise` å¯¹è±¡ **必须绑定** | Promise           | -      |
`alert` å±žæ€§å¯¹è±¡ï¼š
```javascript
alert: {
  show: Boolean,
  clear: [Function, Boolean]
}
```
注意事项
----
> ä½ å¯èƒ½éœ€è¦ä¸ºäº†ä¸ŽåŽç«¯æä¾›çš„æŽ¥å£è¿”回结果一致而去修改以下代码:
> (需要注意的是,这里的修改是全局性的,意味着整个项目所有使用该 table ç»„件都需要遵守这个返回结果定义的字段。)
>
> æ–‡æ¡£ä¸­çš„结构有可能由于组件 bug è¿›è¡Œä¿®æ­£è€Œæ”¹åŠ¨ã€‚å®žé™…ä¿®æ”¹è¯·ä»¥å½“æ—¶æœ€æ–°ç‰ˆæœ¬ä¸ºå‡†
修改 `@/components/table/index.js`  ç¬¬ 156 è¡Œèµ·
```javascript
result.then(r => {
          this.localPagination = this.showPagination && Object.assign({}, this.localPagination, {
            current: r.pageNo, // è¿”回结果中的当前分页数
            total: r.totalCount, // è¿”回结果中的总记录数
            showSizeChanger: this.showSizeChanger,
            pageSize: (pagination && pagination.pageSize) ||
              this.localPagination.pageSize
          }) || false
          // ä¸ºé˜²æ­¢åˆ é™¤æ•°æ®åŽå¯¼è‡´é¡µé¢å½“前页面数据长度为 0 ,自动翻页到上一页
          if (r.data.length === 0 && this.showPagination && this.localPagination.current > 1) {
            this.localPagination.current--
            this.loadData()
            return
          }
          // è¿™é‡Œç”¨äºŽåˆ¤æ–­æŽ¥å£æ˜¯å¦æœ‰è¿”回 r.totalCount ä¸” this.showPagination = true ä¸” pageNo å’Œ pageSize å­˜åœ¨ ä¸” totalCount å°äºŽç­‰äºŽ pageNo * pageSize çš„大小
          // å½“情况满足时,表示数据不满足分页大小,关闭 table åˆ†é¡µåŠŸèƒ½
          try {
            if ((['auto', true].includes(this.showPagination) && r.totalCount <= (r.pageNo * this.localPagination.pageSize))) {
              this.localPagination.hideOnSinglePage = true
            }
          } catch (e) {
            this.localPagination = false
          }
          this.localDataSource = r.data // è¿”回结果中的数组数据
          this.localLoading = false
        })
```
返回 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: 'Admin.NET',
        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
}
```
更新时间
----
该文档最后更新于: 2019-06-23 PM 17:19
LA22A07_Front/src/components/Table/columnSetting.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,82 @@
<template>
  <div slot="overlay" class="ant-dropdown-menu s-tool-column ant-dropdown-content">
    <div class="s-tool-column-header s-tool-column-item">
      <a-checkbox :indeterminate="indeterminate" :checked="checkAll" @change="onCheckAllChange">
        åˆ—展示
      </a-checkbox>
      <a @click="reset">重置</a>
    </div>
    <a-divider />
    <div class="ant-checkbox-group">
      <div>
        <draggable v-model="columnsSetting" animation="300" @end="emitColumnChange">
          <div class="s-tool-column-item" v-for="item in columnsSetting" :key="item.title">
            <div class="s-tool-column-handle" >
              <a-icon type="more"/>
              <a-icon type="more"/>
            </div>
            <a-checkbox v-model="item.checked" @change="onChange">{{ item.title }}</a-checkbox>
          </div>
        </draggable>
      </div>
    </div>
  </div>
</template>
<script>
  import draggable from 'vuedraggable'
  export default {
    props: {
      columns: {
        type: Array,
        default: () => ([])
      }
    },
    components: {
      draggable
    },
    data() {
      return {
        indeterminate: false,
        checkAll: true,
        columnsSetting: [],
        originColumns: []
      }
    },
    methods: {
      reset() {
        this.columnsSetting = JSON.parse(JSON.stringify(this.originColumns))
        this.indeterminate = false
        this.checkAll = true
        this.emitColumnChange()
      },
      onChange() {
        const checkedList = this.columnsSetting.filter(value => value.checked)
        this.indeterminate = !!checkedList.length && checkedList.length < this.columnsSetting.length
        this.checkAll = checkedList.length === this.columnsSetting.length
        this.emitColumnChange()
      },
      onCheckAllChange(e) {
        const val = e.target.checked
        Object.assign(this, {
          indeterminate: false,
          checkAll: val,
          columnsSetting: this.columns.map(value => ({ ...value, checked: val }))
        })
        this.emitColumnChange()
      },
      emitColumnChange() {
        this.$emit('columnChange', this.columnsSetting)
      }
    },
    mounted() {
      this.columnsSetting = this.columns.map(value => ({ ...value, checked: true }))
      this.originColumns = JSON.parse(JSON.stringify(this.columnsSetting))
    }
  }
</script>
<style lang="less" scoped>
</style>
LA22A07_Front/src/components/Table/index.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,432 @@
import T from 'ant-design-vue/es/table/Table'
import get from 'lodash.get'
import draggable from 'vuedraggable'
import columnSetting from './columnSetting'
import './index.less'
export default {
  components: {
    draggable, columnSetting
  },
  data () {
    return {
      needTotalList: [],
      selectedRows: [],
      selectedRowKeys: [],
      localLoading: false,
      localDataSource: [],
      localPagination: Object.assign({}, this.pagination),
      isFullscreen: false,
      customSize: this.size,
      columnsSetting: []
    }
  },
  props: Object.assign({}, T.props, {
    rowKey: {
      type: [String, Function],
      default: 'key'
    },
    data: {
      type: Function,
      required: true
    },
    pageNum: {
      type: Number,
      default: 1
    },
    pageSize: {
      type: Number,
      default: 10
    },
    showSizeChanger: {
      type: Boolean,
      default: true
    },
    size: {
      type: String,
      default: 'middle'
    },
    /**
     * alert: {
     *   show: true,
     *   clear: Function
     * }
     */
    alert: {
      type: [Object, Boolean],
      default: null
    },
    rowSelection: {
      type: Object,
      default: null
    },
    /** @Deprecated */
    showAlertInfo: {
      type: Boolean,
      default: false
    },
    showPagination: {
      type: String | Boolean,
      default: 'auto'
    },
    /**
     * enable page URI mode
     *
     * e.g:
     * /users/1
     * /users/2
     * /users/3?queryParam=test
     * ...
     */
    pageURI: {
      type: Boolean,
      default: false
    },
    extraTool: {
      type: Array,
      default: () => ([])
    }
  }),
  watch: {
    'localPagination.current' (val) {
      this.pageURI && this.$router.push({
        ...this.$route,
        name: this.$route.name,
        params: Object.assign({}, this.$route.params, {
          pageNo: val
        })
      })
    },
    pageNum (val) {
      Object.assign(this.localPagination, {
        current: val
      })
    },
    pageSize (val) {
      Object.assign(this.localPagination, {
        pageSize: val
      })
    },
    showSizeChanger (val) {
      Object.assign(this.localPagination, {
        showSizeChanger: val
      })
    }
  },
  created () {
    const { pageNo } = this.$route.params
    const localPageNum = this.pageURI && (pageNo && parseInt(pageNo)) || this.pageNum
    this.localPagination = ['auto', true].includes(this.showPagination) && Object.assign({}, this.localPagination, {
      current: localPageNum,
      pageSize: this.pageSize,
      showSizeChanger: this.showSizeChanger,
      showTotal: (total, range) => {
        return range[0] + '-' + range[1] + '共' + total + '条'
      }
    }) || false
    this.needTotalList = this.initTotalList(this.columns)
    this.loadData()
    this.columnsSetting = this.columns
  },
  methods: {
    /**
     * è¡¨æ ¼é‡æ–°åŠ è½½æ–¹æ³•
     * å¦‚果参数为 true, åˆ™å¼ºåˆ¶åˆ·æ–°åˆ°ç¬¬ä¸€é¡µ
     * @param Boolean bool
     */
    refresh (bool = false) {
      bool && (this.localPagination = Object.assign({}, {
        current: 1, pageSize: this.pageSize
      }))
      this.loadData()
    },
    /**
     * åŠ è½½æ•°æ®æ–¹æ³•
     * @param {Object} pagination åˆ†é¡µé€‰é¡¹å™¨
     * @param {Object} filters è¿‡æ»¤æ¡ä»¶
     * @param {Object} sorter æŽ’序条件
     */
    loadData (pagination, filters, sorter) {
      this.localLoading = true
      const parameter = Object.assign({
        pageNo: (pagination && pagination.current) ||
          this.showPagination && this.localPagination.current || this.pageNum,
        pageSize: (pagination && pagination.pageSize) ||
          this.showPagination && this.localPagination.pageSize || this.pageSize
      },
      (sorter && sorter.field && {
        sortField: sorter.field
      }) || {},
      (sorter && sorter.order && {
        sortOrder: sorter.order
      }) || {}, {
        ...filters
      }
      )
      const result = this.data(parameter)
      // å¯¹æŽ¥è‡ªå·±çš„通用数据接口需要修改下方代码中的 r.pageNo, r.totalCount, r.data
      // eslint-disable-next-line
      if ((typeof result === 'object' || typeof result === 'function') && typeof result.then === 'function') {
        result.then(r => {
          if (r == null) {
            this.localLoading = false
            return
          }
          this.localPagination = this.showPagination && Object.assign({}, this.localPagination, {
            current: r.pageNo, // pageNo, // è¿”回结果中的当前分页数
            total: r.totalRows, // totalCount, // è¿”回结果中的总记录数
            showSizeChanger: this.showSizeChanger,
            pageSize: (pagination && pagination.pageSize) ||
              this.localPagination.pageSize
          }) || false
          // åŽç«¯æ•°æ®rows为null保存修复
          if (r.rows == null) {
            r.rows = []
          }
          // ä¸ºé˜²æ­¢åˆ é™¤æ•°æ®åŽå¯¼è‡´é¡µé¢å½“前页面数据长度为 0 ,自动翻页到上一页
          if (r.rows.length === 0 && this.showPagination && this.localPagination.current > 1) {
            this.localPagination.current--
            this.loadData()
            return
          }
          // è¿™é‡Œç”¨äºŽåˆ¤æ–­æŽ¥å£æ˜¯å¦æœ‰è¿”回 r.totalCount ä¸” this.showPagination = true ä¸” pageNo å’Œ pageSize å­˜åœ¨ ä¸” totalCount å°äºŽç­‰äºŽ pageNo * pageSize çš„大小
          // å½“情况满足时,表示数据不满足分页大小,关闭 table åˆ†é¡µåŠŸèƒ½
          try {
            if ((['auto', true].includes(this.showPagination) && r.totalCount <= (r.totalPage * this.localPagination.pageSize))) {
              this.localPagination.hideOnSinglePage = true
            }
          } catch (e) {
            this.localPagination = false
          }
          this.localDataSource = r.rows // è¿”回结果中的数组数据
          this.localLoading = false
        })
      }
    },
    initTotalList (columns) {
      const totalList = []
      columns && columns instanceof Array && columns.forEach(column => {
        if (column.needTotal) {
          totalList.push({
            ...column,
            total: 0
          })
        }
      })
      return totalList
    },
    /**
     * ç”¨äºŽæ›´æ–°å·²é€‰ä¸­çš„列表数据 total ç»Ÿè®¡
     * @param selectedRowKeys
     * @param selectedRows
     */
    updateSelect (selectedRowKeys, selectedRows) {
      this.selectedRows = selectedRows
      this.selectedRowKeys = selectedRowKeys
      const list = this.needTotalList
      this.needTotalList = list.map(item => {
        return {
          ...item,
          total: selectedRows.reduce((sum, val) => {
            const total = sum + parseInt(get(val, item.dataIndex))
            return isNaN(total) ? 0 : total
          }, 0)
        }
      })
    },
    /**
     * æ¸…空 table å·²é€‰ä¸­é¡¹
     */
    clearSelected () {
      if (this.rowSelection) {
        this.rowSelection.onChange([], [])
        this.updateSelect([], [])
      }
    },
    /**
     * å¤„理交给 table ä½¿ç”¨è€…去处理 clear äº‹ä»¶æ—¶ï¼Œå†…部选中统计同时调用
     * @param callback
     * @returns {*}
     */
    renderClear (callback) {
      if (this.selectedRowKeys.length <= 0) return null
      return (
        <a style="margin-left: 24px" onClick={() => {
          callback()
          this.clearSelected()
        }}>清空</a>
      )
    },
    renderAlert () {
      // ç»˜åˆ¶ç»Ÿè®¡åˆ—数据
      // eslint-disable-next-line no-unused-vars
      const needTotalItems = this.needTotalList.map((item) => {
        return (<span style="margin-right: 12px">
          {item.title}总计 <a style="font-weight: 600">{!item.customRender ? item.total : item.customRender(item.total)}</a>
        </span>)
      })
      // ç»˜åˆ¶ æ¸…空 æŒ‰é’®
      // eslint-disable-next-line no-unused-vars
      const clearItem = (typeof this.alert.clear === 'boolean' && this.alert.clear) ? (
        this.renderClear(this.clearSelected)
      ) : (this.alert !== null && typeof this.alert.clear === 'function') ? (
        this.renderClear(this.alert.clear)
      ) : null
      // ç»˜åˆ¶ alert ç»„ä»¶
      // ç»Ÿä¸€å…ˆå޻除alert组件
      return ''
      /* return (
        <a-alert showIcon={true} style="margin-bottom: 16px">
          <template slot="message">
            <span style="margin-right: 12px">已选择: <a style="font-weight: 600">{this.selectedRows.length}</a></span>
            {needTotalItems}
            {clearItem}
          </template>
        </a-alert>
      ) */
    },
    columnChange(val) {
      this.columnsSetting = val
    },
    renderHeader () {
      let tools = [
        {
          icon: 'reload',
          title: '刷新',
          onClick: () => {
            this.refresh()
          }
        },
        {
          icon: 'column-height',
          title: '密度',
          isDropdown: true,
          menu: () => {
            const onClick = ({ key }) => {
              this.customSize = key
            }
            return (
              <a-menu slot="overlay" onClick={onClick} selectable defaultSelectedKeys={[this.customSize]}>
                <a-menu-item key="default">默认</a-menu-item>
                <a-menu-item key="middle">中等</a-menu-item>
                <a-menu-item key="small">紧凑</a-menu-item>
              </a-menu>
            )
          },
          onClick: () => {
          }
        },
        {
          icon: 'setting',
          title: '列设置',
          isDropdown: true,
          menu: () => {
            return <columnSetting slot="overlay" columns={this.columns} onColumnChange={this.columnChange} />
          },
          onClick: () => {
          }
        }
      ]
      if (this.extraTool.length) {
        tools = tools.concat(this.extraTool)
      }
      return (
        <div class="s-table-tool">
          <div class="s-table-tool-left">
            {this.$scopedSlots.operator && this.$scopedSlots.operator()}
          </div>
          <div class="s-table-tool-right">
            {
              tools.map(tool => {
                if (tool.isDropdown) {
                  return (
                    <a-dropdown trigger={['click']}>
                      <a-tooltip title={tool.title} class="s-tool-item" onClick={tool.onClick}>
                        <a-icon type={tool.icon}/>
                      </a-tooltip>
                      { tool.menu() }
                    </a-dropdown>
                  )
                }
                return (
                  <a-tooltip title={tool.title} class="s-tool-item" onClick={tool.onClick}>
                    <a-icon type={tool.icon} />
                  </a-tooltip>
                )
              })
            }
          </div>
        </div>
      )
      /* return (
        <a-alert showIcon={true} style="margin-bottom: 16px">
          <template slot="message">
            <span style="margin-right: 12px">已选择: <a style="font-weight: 600">{this.selectedRows.length}</a></span>
            {needTotalItems}
            {clearItem}
          </template>
        </a-alert>
      ) */
    }
  },
  render () {
    let props = {}
    const localKeys = Object.keys(this.$data)
    const showAlert = (typeof this.alert === 'object' && this.alert !== null && this.alert.show) && typeof this.rowSelection.selectedRowKeys !== 'undefined' || this.alert
    Object.keys(T.props).forEach(k => {
      const localKey = `local${k.substring(0, 1).toUpperCase()}${k.substring(1)}`
      if (localKeys.includes(localKey)) {
        props[k] = this[localKey]
        return props[k]
      }
      if (k === 'rowSelection') {
        if (showAlert && this.rowSelection) {
          // å¦‚果需要使用alert,则重新绑定 rowSelection äº‹ä»¶
          props[k] = {
            ...this.rowSelection,
            selectedRows: this.selectedRows,
            selectedRowKeys: this.selectedRowKeys,
            onChange: (selectedRowKeys, selectedRows) => {
              this.updateSelect(selectedRowKeys, selectedRows)
              typeof this[k].onChange !== 'undefined' && this[k].onChange(selectedRowKeys, selectedRows)
            }
          }
          return props[k]
        } else if (!this.rowSelection) {
          // å¦‚果没打算开启 rowSelection åˆ™æ¸…空默认的选择项
          props[k] = null
          return props[k]
        }
      }
      this[k] && (props[k] = this[k])
      // æ­¤å¤„配置表格大小与要显示的列
      props = {
        ...props,
        size: this.customSize,
        columns: this.columnsSetting.filter(value => value.checked === undefined || value.checked)
      }
      return props[k]
    })
    const table = (
      <a-table {...{ props, scopedSlots: { ...this.$scopedSlots } }} onChange={this.loadData} onExpand={ (expanded, record) => { this.$emit('expand', expanded, record) } }>
        { Object.keys(this.$slots).map(name => (<template slot={name}>{this.$slots[name]}</template>)) }
      </a-table>
    )
    return (
      <div class="table-wrapper">
        { this.renderHeader() }
        { showAlert ? this.renderAlert() : null }
        { table }
      </div>
    )
  }
}
LA22A07_Front/src/components/Table/index.less
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,54 @@
.table-wrapper{
  background: #fff;
}
.s-table-tool{
  display: flex;
  margin-bottom: 16px;
  .s-table-tool-left{
    flex: 1;
  }
  .s-table-tool-right{
    display: inline-flex;
    align-items: center;
    .s-tool-item{
      font-size: 16px;
      margin-left: 16px;
      cursor: pointer;
    }
  }
}
.s-tool-column-item{
  display: flex;
  align-items: center;
  padding: 4px 16px 4px 4px;
  .ant-checkbox-wrapper{
    flex: 1;
  }
  .s-tool-column-handle{
    opacity: .8;
    cursor: move;
    .anticon-more{
      font-size: 12px;
      margin-top: 2px;
      & + .anticon-more{
        margin: 2px 4px 0 -8px;
      }
    }
  }
}
.s-tool-column-header{
  padding: 5px 16px 10px 24px;
  min-width: 180px;
}
.s-tool-column{
  .ant-divider{
    margin: 0;
  }
  .ant-checkbox-group{
    padding: 4px 0;
    display: block;
  }
}
LA22A07_Front/src/components/TagSelect/TagSelectOption.jsx
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,45 @@
import { Tag } from 'ant-design-vue'
const { CheckableTag } = Tag
export default {
  name: 'TagSelectOption',
  props: {
    prefixCls: {
      type: String,
      default: 'ant-pro-tag-select-option'
    },
    value: {
      type: [String, Number, Object],
      default: ''
    },
    checked: {
      type: Boolean,
      default: false
    }
  },
  data () {
    return {
      localChecked: this.checked || false
    }
  },
  watch: {
    'checked' (val) {
      this.localChecked = val
    },
    '$parent.items': {
      handler: function (val) {
        this.value && val.hasOwnProperty(this.value) && (this.localChecked = val[this.value])
      },
      deep: true
    }
  },
  render () {
    const { $slots, value } = this
    const onChange = (checked) => {
      this.$emit('change', { value, checked })
    }
    return (<CheckableTag key={value} vModel={this.localChecked} onChange={onChange}>
      {$slots.default}
    </CheckableTag>)
  }
}
LA22A07_Front/src/components/TagSelect/index.jsx
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,113 @@
import PropTypes from 'ant-design-vue/es/_util/vue-types'
import Option from './TagSelectOption.jsx'
import { filterEmpty } from '@/components/_util/util'
export default {
  Option,
  name: 'TagSelect',
  model: {
    prop: 'checked',
    event: 'change'
  },
  props: {
    prefixCls: {
      type: String,
      default: 'ant-pro-tag-select'
    },
    defaultValue: {
      type: PropTypes.array,
      default: null
    },
    value: {
      type: PropTypes.array,
      default: null
    },
    expandable: {
      type: Boolean,
      default: false
    },
    hideCheckAll: {
      type: Boolean,
      default: false
    }
  },
  data () {
    return {
      expand: false,
      localCheckAll: false,
      items: this.getItemsKey(filterEmpty(this.$slots.default)),
      val: this.value || this.defaultValue || []
    }
  },
  methods: {
    onChange (checked) {
      const key = Object.keys(this.items).filter(key => key === checked.value)
      this.items[key] = checked.checked
      const bool = Object.values(this.items).lastIndexOf(false)
      if (bool === -1) {
        this.localCheckAll = true
      } else {
        this.localCheckAll = false
      }
    },
    onCheckAll (checked) {
      Object.keys(this.items).forEach(v => {
        this.items[v] = checked.checked
      })
      this.localCheckAll = checked.checked
    },
    getItemsKey (items) {
      const totalItem = {}
      items.forEach(item => {
        totalItem[item.componentOptions.propsData && item.componentOptions.propsData.value] = false
      })
      return totalItem
    },
    // CheckAll Button
    renderCheckAll () {
      const props = {
        on: {
          change: (checked) => {
            this.onCheckAll(checked)
            checked.value = 'total'
            this.$emit('change', checked)
          }
        }
      }
      const checkAllElement = <Option key={'total'} checked={this.localCheckAll} {...props}>All</Option>
      return !this.hideCheckAll && checkAllElement || null
    },
    // expandable
    renderExpandable () {
    },
    // render option
    renderTags (items) {
      const listeners = {
        change: (checked) => {
          this.onChange(checked)
          this.$emit('change', checked)
        }
      }
      return items.map(vnode => {
        const options = vnode.componentOptions
        options.listeners = listeners
        return vnode
      })
    }
  },
  render () {
    const { $props: { prefixCls } } = this
    const classString = {
      [`${prefixCls}`]: true
    }
    const tagItems = filterEmpty(this.$slots.default)
    return (
      <div class={classString}>
        {this.renderCheckAll()}
        {this.renderTags(tagItems)}
      </div>
    )
  }
}
LA22A07_Front/src/components/TextArea/index.jsx
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,69 @@
import './style.less'
import { getStrFullLength, cutStrByFullLength } from '../_util/util'
import Input from 'ant-design-vue/es/input'
const TextArea = Input.TextArea
export default {
  name: 'LimitTextArea',
  model: {
    prop: 'value',
    event: 'change'
  },
  props: Object.assign({}, TextArea.props, {
    prefixCls: {
      type: String,
      default: 'ant-textarea-limit'
    },
    // eslint-disable-next-line
    value: {
      type: String
    },
    limit: {
      type: Number,
      default: 200
    }
  }),
  data () {
    return {
      currentLimit: 0
    }
  },
  watch: {
    value (val) {
      this.calcLimitNum(val)
    }
  },
  created () {
    this.calcLimitNum(this.value)
  },
  methods: {
    handleChange (e) {
      const value = e.target.value
      const len = getStrFullLength(value)
      if (len <= this.limit) {
        this.currentLimit = len
        this.$emit('change', value)
        return
      } else {
        const str = cutStrByFullLength(value, this.limit)
        this.currentLimit = getStrFullLength(str)
        this.$emit('change', str)
      }
      console.error('limit out! currentLimit:', this.currentLimit)
    },
    calcLimitNum (val) {
      const len = getStrFullLength(val)
      this.currentLimit = len
    }
  },
  render () {
    const { prefixCls, ...props } = this.$props
    return (
      <div class={this.prefixCls}>
        <TextArea {...{ props }} value={this.value} onChange={this.handleChange}>
        </TextArea>
        <span class="limit">{this.currentLimit}/{this.limit}</span>
      </div>
    )
  }
}
LA22A07_Front/src/components/TextArea/style.less
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,12 @@
.ant-textarea-limit {
  position: relative;
  .limit {
    position: absolute;
    color: #909399;
    background: #fff;
    font-size: 12px;
    bottom: 5px;
    right: 10px;
  }
}
LA22A07_Front/src/components/Tree/Tree.jsx
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,124 @@
import { Menu, Icon, Input } from 'ant-design-vue'
const { Item, ItemGroup, SubMenu } = Menu
const { Search } = Input
export default {
  name: 'Tree',
  props: {
    dataSource: {
      type: Array,
      required: true
    },
    openKeys: {
      type: Array,
      default: () => []
    },
    search: {
      type: Boolean,
      default: false
    }
  },
  created () {
    this.localOpenKeys = this.openKeys.slice(0)
  },
  data () {
    return {
      localOpenKeys: []
    }
  },
  methods: {
    handlePlus (item) {
      this.$emit('add', item)
    },
    handleTitleClick (...args) {
      this.$emit('titleClick', { args })
    },
    renderSearch () {
      return (
        <Search
          placeholder="input search text"
          style="width: 100%; margin-bottom: 1rem"
        />
      )
    },
    renderIcon (icon) {
      return icon && (<Icon type={icon} />) || null
    },
    renderMenuItem (item) {
      return (
        <Item key={item.key}>
          { this.renderIcon(item.icon) }
          { item.title }
          <a class="btn" style="width: 20px;z-index:1300" {...{ on: { click: () => this.handlePlus(item) } }}><a-icon type="plus"/></a>
        </Item>
      )
    },
    renderItem (item) {
      return item.children ? this.renderSubItem(item, item.key) : this.renderMenuItem(item, item.key)
    },
    renderItemGroup (item) {
      const childrenItems = item.children.map(o => {
        return this.renderItem(o, o.key)
      })
      return (
        <ItemGroup key={item.key}>
          <template slot="title">
            <span>{ item.title }</span>
            <a-dropdown>
              <a class="btn"><a-icon type="ellipsis" /></a>
              <a-menu slot="overlay">
                <a-menu-item key="1">新增</a-menu-item>
                <a-menu-item key="2">合并</a-menu-item>
                <a-menu-item key="3">移除</a-menu-item>
              </a-menu>
            </a-dropdown>
          </template>
          { childrenItems }
        </ItemGroup>
      )
    },
    renderSubItem (item, key) {
      const childrenItems = item.children && item.children.map(o => {
        return this.renderItem(o, o.key)
      })
      const title = (
        <span slot="title">
          { this.renderIcon(item.icon) }
          <span>{ item.title }</span>
        </span>
      )
      if (item.group) {
        return this.renderItemGroup(item)
      }
      // titleClick={this.handleTitleClick(item)}
      return (
        <SubMenu key={key}>
          { title }
          { childrenItems }
        </SubMenu>
      )
    }
  },
  render () {
    const { dataSource, search } = this.$props
    // this.localOpenKeys = openKeys.slice(0)
    const list = dataSource.map(item => {
      return this.renderItem(item)
    })
    return (
      <div class="tree-wrapper">
        { search ? this.renderSearch() : null }
        <Menu mode="inline" class="custom-tree" {...{ on: { click: item => this.$emit('click', item), 'update:openKeys': val => { this.localOpenKeys = val } } }} openKeys={this.localOpenKeys}>
          { list }
        </Menu>
      </div>
    )
  }
}
LA22A07_Front/src/components/Trend/Trend.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,41 @@
<template>
  <div :class="[prefixCls, reverseColor && 'reverse-color' ]">
    <span>
      <slot name="term"></slot>
      <span class="item-text">
        <slot></slot>
      </span>
    </span>
    <span :class="[flag]"><a-icon :type="`caret-${flag}`"/></span>
  </div>
</template>
<script>
export default {
  name: 'Trend',
  props: {
    prefixCls: {
      type: String,
      default: 'ant-pro-trend'
    },
    /**
       * ä¸Šå‡ä¸‹é™æ ‡è¯†ï¼šup|down
       */
    flag: {
      type: String,
      required: true
    },
    /**
       * é¢œè‰²åè½¬
       */
    reverseColor: {
      type: Boolean,
      default: false
    }
  }
}
</script>
<style lang="less" scoped>
  @import "index";
</style>
LA22A07_Front/src/components/Trend/index.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,3 @@
import Trend from './Trend.vue'
export default Trend
LA22A07_Front/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;
  }
}
LA22A07_Front/src/components/Trend/index.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,45 @@
# Trend è¶‹åŠ¿æ ‡è®°
趋势符号,标记上升和下降趋势。通常用绿色代表“好”,红色代表“不好”,股票涨跌场景除外。
引用方式:
```javascript
import Trend from '@/components/Trend'
export default {
    components: {
        Trend
    }
}
```
## ä»£ç æ¼”示  [demo](https://pro.loacg.com/test/home)
```html
<trend flag="up">5%</trend>
```
或
```html
<trend flag="up">
    <span slot="term">工资</span>
    5%
</trend>
```
或
```html
<trend flag="up" term="工资">5%</trend>
```
## API
| å‚æ•°      | è¯´æ˜Ž                                      | ç±»åž‹         | é»˜è®¤å€¼ |
|----------|------------------------------------------|-------------|-------|
| flag | ä¸Šå‡ä¸‹é™æ ‡è¯†ï¼š`up|down` | string | - |
| reverseColor | é¢œè‰²åè½¬ | Boolean | false |
LA22A07_Front/src/components/UserSelect/UserSelect.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,76 @@
<template>
  <a-select
    :mode="model"
    showSearch
    :value="selectValue"
    :filter-option="false"
    :placeholder="placeholder"
    :not-found-content="fetching ? undefined : null"
    @search="fetchUser"
    @change="handleChange"
  >
    <a-spin v-if="fetching" slot="notFoundContent" size="small" />
    <a-select-option v-for="d in data" :key="d.value">
      {{ d.text }}
    </a-select-option>
  </a-select>
</template>
<script>
import debounce from 'lodash/debounce'
import { getUserPage } from '@/api/modular/system/userManage'
export default {
  name: 'UserSelect',
  props: {
    placeholder: {
      type: String
    },
    value: {
      type: String
    },
    multiple: {
      type: Boolean,
      default: false
    }
  },
  data() {
    const multiple = this.multiple
    this.fetchUser = debounce(this.fetchUser, 800)
    return {
      data: [],
      fetching: false,
      selectValue: multiple ? [] : undefined,
      model: multiple ? 'multiple' : 'default'
    }
  },
  methods: {
    fetchUser(key) {
      this.data = []
      this.fetching = true
      const params = {
        pageNo: 1,
        pageSize: 10,
        searchValue: key
      }
      this.userFetching = true
      getUserPage(params).then((res) => {
        this.data = res.data.rows.map(user => ({
          text: `${user.name} ${user.account}`,
          value: user.id
        }))
      }).finally(() => {
        this.fetching = false
      })
    },
    handleChange(value) {
      Object.assign(this, {
        selectValue: value,
        fetching: false
      })
      this.$emit('change', value)
    }
  }
}
</script>
LA22A07_Front/src/components/UserSelect/index.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,3 @@
import UserSelect from './UserSelect'
export default UserSelect
LA22A07_Front/src/components/_util/util.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,46 @@
/**
 * components util
 */
/**
 * æ¸…理空值,对象
 * @param children
 * @returns {*[]}
 */
export function filterEmpty (children = []) {
  return children.filter(c => c.tag || (c.text && c.text.trim() !== ''))
}
/**
 * èŽ·å–å­—ç¬¦ä¸²é•¿åº¦ï¼Œè‹±æ–‡å­—ç¬¦ é•¿åº¦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
  }, '')
}
LA22A07_Front/src/components/global.less
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,516 @@
@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;
      }
    }
    /**
     * ant-table-wrapper
     * è¦†ç›–的表格手机模式样式,如果想修改在手机上表格最低宽度,可以在这里改动
     */
    .ant-table-wrapper {
      .ant-table-content {
        overflow-y: auto;
      }
      .ant-table-body {
        min-width: 800px;
      }
    }
    .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: 12px;
      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;
    }
  }
}
LA22A07_Front/src/components/index.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,70 @@
// chart
import Bar from '@/components/Charts/Bar'
import ChartCard from '@/components/Charts/ChartCard'
import Liquid from '@/components/Charts/Liquid'
import MiniArea from '@/components/Charts/MiniArea'
import MiniSmoothArea from '@/components/Charts/MiniSmoothArea'
import MiniBar from '@/components/Charts/MiniBar'
import MiniProgress from '@/components/Charts/MiniProgress'
import Radar from '@/components/Charts/Radar'
import RankList from '@/components/Charts/RankList'
import TransferBar from '@/components/Charts/TransferBar'
import TagCloud from '@/components/Charts/TagCloud'
// pro components
import AvatarList from '@/components/AvatarList'
import CountDown from '@/components/CountDown'
import Ellipsis from '@/components/Ellipsis'
import FooterToolbar from '@/components/FooterToolbar'
import NumberInfo from '@/components/NumberInfo'
import DescriptionList from '@/components/DescriptionList'
import Tree from '@/components/Tree/Tree'
import Trend from '@/components/Trend'
import STable from '@/components/Table'
import MultiTab from '@/components/MultiTab'
import Result from '@/components/Result'
import IconSelector from '@/components/IconSelector'
import TagSelect from '@/components/TagSelect'
import ExceptionPage from '@/components/Exception'
import StandardFormRow from '@/components/StandardFormRow'
import ArticleListContent from '@/components/ArticleListContent'
import AntdEditor from '@/components/Editor/WangEditor'
import Dialog from '@/components/Dialog'
// xn components
import XCard from '@/components/xnComponents/XCard'
export {
  AvatarList,
  Bar,
  ChartCard,
  Liquid,
  MiniArea,
  MiniSmoothArea,
  MiniBar,
  MiniProgress,
  Radar,
  TagCloud,
  RankList,
  TransferBar,
  Trend,
  CountDown,
  Ellipsis,
  FooterToolbar,
  NumberInfo,
  DescriptionList,
  // å…¼å®¹å†™æ³•,请勿继续使用
  DescriptionList as DetailList,
  Tree,
  STable,
  MultiTab,
  Result,
  ExceptionPage,
  IconSelector,
  TagSelect,
  StandardFormRow,
  ArticleListContent,
  AntdEditor,
  Dialog,
  XCard
}
LA22A07_Front/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;
LA22A07_Front/src/components/tools/Breadcrumb.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,45 @@
<template>
  <a-breadcrumb class="breadcrumb">
    <a-breadcrumb-item v-for="(item, index) in breadList" :key="item.name">
      <router-link
        v-if="item.name != name && index != 1"
        :to="{ path: item.path === '' ? '/' : item.path }"
      >{{ item.meta.title }}</router-link>
      <span v-else>{{ item.meta.title }}</span>
    </a-breadcrumb-item>
  </a-breadcrumb>
</template>
<script>
export default {
  data () {
    return {
      name: '',
      breadList: []
    }
  },
  created () {
    this.getBreadcrumb()
  },
  methods: {
    getBreadcrumb () {
      this.breadList = []
      // this.breadList.push({name: 'index', path: '/dashboard/', meta: {title: '首页'}})
      this.name = this.$route.name
      this.$route.matched.forEach(item => {
        // item.name !== 'index' && this.breadList.push(item)
        this.breadList.push(item)
      })
    }
  },
  watch: {
    $route () {
      this.getBreadcrumb()
    }
  }
}
</script>
<style scoped>
</style>
LA22A07_Front/src/components/tools/DetailList.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,5 @@
<script>
/* WARNING: å…¼å®¹è€å¼•入,请勿继续使用 */
import DescriptionList from '@/components/DescriptionList'
export default DescriptionList
</script>
LA22A07_Front/src/components/tools/HeadInfo.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,67 @@
<template>
  <div class="head-info" :class="center && 'center'">
    <span>{{ title }}</span>
    <p>{{ content }}</p>
    <em v-if="bordered"/>
  </div>
</template>
<script>
export default {
  name: 'HeadInfo',
  props: {
    title: {
      type: String,
      default: ''
    },
    content: {
      type: String,
      default: ''
    },
    bordered: {
      type: Boolean,
      default: false
    },
    center: {
      type: Boolean,
      default: true
    }
  }
}
</script>
<style lang="less" scoped>
  .head-info {
    position: relative;
    text-align: left;
    padding: 0 32px 0 0;
    min-width: 125px;
    &.center {
      text-align: center;
      padding: 0 32px;
    }
    span {
      color: rgba(0, 0, 0, .45);
      display: inline-block;
      font-size: 14px;
      line-height: 22px;
      margin-bottom: 4px;
    }
    p {
      color: rgba(0, 0, 0, .85);
      font-size: 24px;
      line-height: 32px;
      margin: 0;
    }
    em {
      background-color: #e8e8e8;
      position: absolute;
      height: 56px;
      width: 1px;
      top: 0;
      right: 0;
    }
  }
</style>
LA22A07_Front/src/components/tools/LangSelect.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,46 @@
<template>
  <a-dropdown>
    <span class="action global-lang">
      <a-icon type="global" style="font-size: 16px"/>
    </span>
    <a-menu slot="overlay" style="width: 150px;" @click="SwitchLang">
      <a-menu-item key="zh-CN">
        <a rel="noopener noreferrer">
          <span role="img" aria-label="简体中文">🇨🇳</span> ç®€ä½“中文
        </a>
      </a-menu-item>
      <a-menu-item key="zh-TW">
        <a rel="noopener noreferrer">
          <span role="img" aria-label="繁体中文">🇭🇰</span> ç¹ä½“中文
        </a>
      </a-menu-item>
      <a-menu-item key="en-US">
        <a rel="noopener noreferrer">
          <span role="img" aria-label="English">🇬🇧</span> English
        </a>
      </a-menu-item>
      <a-menu-item key="pt-BR">
        <a rel="noopener noreferrer">
          <span role="img" aria-label="Português">🇧🇷</span> Português
        </a>
      </a-menu-item>
    </a-menu>
  </a-dropdown>
</template>
<script>
// import { mixin as langMixin } from '@/store/i18n-mixin'
export default {
  name: 'LangSelect',
  // mixins: [langMixin],
  data () {
    return {}
  },
  methods: {
    // SwitchLang (row) {
    //   this.setLang(row.key)
    // }
  }
}
</script>
LA22A07_Front/src/components/tools/Logo.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,58 @@
<template>
  <div class="logo">
    <router-link :to="{name:'Console'}">
      <img src="@/assets/logo4.png" alt="Logo" class="logo-img">
      <h1 v-if="showTitle">{{ this.titles }}</h1>
    </router-link>
  </div>
</template>
<script>
//import LogoSvg from '@/assets/logo2.jpg'
import { mixin, mixinDevice } from '@/utils/mixin'
export default {
  name: 'Logo',
  mixins: [mixin, mixinDevice],
  data () {
    return {
      titles: ''
    }
  },
  props: {
    title: {
      type: String,
      default: '一汽解放青岛汽车有限公司',
      required: false
    },
    showTitle: {
      type: Boolean,
      default: true,
      required: false
    }
  },
  created () {
    if (this.layoutMode === 'topmenu') {
      if (this.title.length > 100) {
        this.titles = this.title.substring(0, 8) + '...'
      } else {
        this.titles = this.title
      }
    } else {
      if (this.title.length > 100) {
        this.titles = this.title.substring(0, 8) + '...'
      } else {
        this.titles = this.title
      }
    }
  }
}
</script>
<style lang="less" scoped>
.logo-img{
  height: auto !important;
}
</style>
LA22A07_Front/src/components/tools/TwoStepCaptcha.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,88 @@
<template>
  <!-- ä¸¤æ­¥éªŒè¯ -->
  <a-modal
    centered
    v-model="visible"
    @cancel="handleCancel"
    :maskClosable="false"
  >
    <div slot="title" :style="{ textAlign: 'center' }">两步验证</div>
    <template slot="footer">
      <div :style="{ textAlign: 'center' }">
        <a-button key="back" @click="handleCancel">返回</a-button>
        <a-button key="submit" type="primary" :loading="stepLoading" @click="handleStepOk">
          ç»§ç»­
        </a-button>
      </div>
    </template>
    <a-spin :spinning="stepLoading">
      <a-form layout="vertical" :auto-form-create="(form)=>{this.form = form}">
        <div class="step-form-wrapper">
          <p style="text-align: center" v-if="!stepLoading">请在手机中打开 Google Authenticator æˆ–两步验证 APP<br />输入 6 ä½åŠ¨æ€ç </p>
          <p style="text-align: center" v-else>正在验证..<br/>请稍后</p>
          <a-form-item
            :style="{ textAlign: 'center' }"
            hasFeedback
            fieldDecoratorId="stepCode"
            :fieldDecoratorOptions="{rules: [{ required: true, message: '请输入 6 ä½åŠ¨æ€ç !', pattern: /^\d{6}$/, len: 6 }]}"
          >
            <a-input :style="{ textAlign: 'center' }" @keyup.enter.native="handleStepOk" placeholder="000000" />
          </a-form-item>
          <p style="text-align: center">
            <a @click="onForgeStepCode">遗失手机?</a>
          </p>
        </div>
      </a-form>
    </a-spin>
  </a-modal>
</template>
<script>
export default {
  props: {
    visible: {
      type: Boolean,
      default: false
    }
  },
  data () {
    return {
      stepLoading: false,
      form: null
    }
  },
  methods: {
    handleStepOk () {
      const vm = this
      this.stepLoading = true
      this.form.validateFields((err, values) => {
        if (!err) {
          setTimeout(() => {
            vm.stepLoading = false
            vm.$emit('success', { values })
          }, 2000)
          return
        }
        this.stepLoading = false
        this.$emit('error', { err })
      })
    },
    handleCancel () {
      this.visible = false
      this.$emit('cancel')
    },
    onForgeStepCode () {
    }
  }
}
</script>
<style lang="less" scoped>
  .step-form-wrapper {
    margin: 0 auto;
    width: 80%;
    max-width: 400px;
  }
</style>
LA22A07_Front/src/components/tools/UserMenu.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,255 @@
<template>
  <div class="user-wrapper">
    <div class="content-box">
      <!--<a href="" target="_blank">
        <span class="action">
          <a-icon type="question-circle-o"></a-icon>
        </span>
      </a>-->
      <span class="action" @click="toggleFullscreen">
        <a-icon type="fullscreen-exit" v-if="isFullscreen" />
        <a-icon type="fullscreen" v-else />
      </span>
      <notice-icon class="action" v-if="hasPerm('sysNotice:received')" />
      <a-dropdown>
        <span class="action ant-dropdown-link user-dropdown-menu">
          <a-avatar class="avatar" size="small" :src="avatar" />
          <span>{{ nickname }}</span>
        </span>
        <a-menu slot="overlay" class="user-dropdown-menu-wrapper">
          <a-menu-item key="4" v-if="mode === 'sidemenu'">
            <a @click="appToggled()">
              <a-icon type="swap" />
              <span>切换应用</span>
            </a>
          </a-menu-item>
          <!--<a-menu-item key="0">
            <router-link :to="{ name: 'center' }">
              <a-icon type="user"/>
              <span>个人中心</span>
            </router-link>
          </a-menu-item> -->
          <a-menu-item key="1">
            <router-link :to="{ name: 'settings' }">
              <a-icon type="setting" />
              <span>账户设置</span>
            </router-link>
          </a-menu-item>
          <a-menu-item key="2">
            <a @click="sendMessage()">
              <a-icon type="message" />
              <span>消息发送测试</span>
            </a>
          </a-menu-item>
          <a-menu-divider />
          <a-menu-item key="3">
            <a href="javascript:;" @click="handleLogout">
              <a-icon type="logout" />
              <span>退出登录</span>
            </a>
          </a-menu-item>
        </a-menu>
      </a-dropdown>
    </div>
    <a-modal title="切换应用" :visible="visible" :footer="null" :confirm-loading="confirmLoading" @cancel="handleCancel">
      <a-form :form="form1">
        <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="选择应用">
          <a-menu mode="inline" :default-selected-keys="this.defApp" style="border-bottom:0px;lineHeight:55px;">
            <a-menu-item v-for="item in userInfo.apps" :key="item.code" style="top:0px;" @click="switchApp(item.code)">
              {{ item.name }}
            </a-menu-item>
          </a-menu>
        </a-form-item>
      </a-form>
    </a-modal>
  </div>
</template>
<script>
  import screenfull from 'screenfull'
  import NoticeIcon from '@/components/NoticeIcon'
  import {
    mapActions,
    mapGetters
  } from 'vuex'
  import {
    ALL_APPS_MENU
  } from '@/store/mutation-types'
  import Vue from 'vue'
  import {
    message
  } from 'ant-design-vue/es'
  import { messagesendtoAll } from '@/utils/messagesend'
  export default {
    name: 'UserMenu',
    components: {
      NoticeIcon,
      screenfull
    },
    props: {
      mode: {
        type: String,
        // sidemenu, topmenu
        default: 'sidemenu'
      }
    },
    data() {
      return {
        labelCol: {
          xs: {
            span: 24
          },
          sm: {
            span: 5
          }
        },
        wrapperCol: {
          xs: {
            span: 24
          },
          sm: {
            span: 16
          }
        },
        visible: false,
        confirmLoading: false,
        form1: this.$form.createForm(this),
        defApp: [],
        isFullscreen: false
      }
    },
    computed: {
      ...mapGetters(['token', 'nickname', 'avatar', 'userInfo'])
    },
    // è®¾ç½®signalr令牌
    async mounted() {
      await this.$socket.authenticate(this.token)
    },
    methods: {
      ...mapActions(['Logout', 'MenuChange']),
      handleLogout() {
        this.$confirm({
          title: '提示',
          content: '真的要注销登录吗 ?',
          okText: '确定',
          cancelText: '取消',
          onOk: () => {
            return this.Logout({})
              .then(() => {
                setTimeout(() => {
                  window.location.reload()
                }, 16)
              })
              .catch(err => {
                this.$message.error({
                  title: '错误',
                  description: err.message
                })
              })
          },
          onCancel() {}
        })
      },
      /**
       * æ‰“开切换应用框
       */
      appToggled() {
        this.visible = true
        this.defApp.push(Vue.ls.get(ALL_APPS_MENU)[0].code)
      },
      switchApp(appCode) {
        this.visible = false
        this.defApp = []
        const applicationData = this.userInfo.apps.filter(item => item.code === appCode)
        const hideMessage = message.loading('正在切换应用!', 0)
        this.MenuChange(applicationData[0])
          .then(res => {
            hideMessage()
            // eslint-disable-next-line handle-callback-err
          })
          .catch(err => {
            message.error('应用切换异常' + err)
          })
      },
      handleCancel() {
        this.form1.resetFields()
        this.visible = false
      },
      /* å…¨å±åˆ‡æ¢ */
      toggleFullscreen() {
        if (!screenfull.isEnabled) {
          message.error('您的浏览器不支持全屏模式')
          return
        }
        screenfull.toggle()
        if (screenfull.isFullscreen) {
          this.isFullscreen = false
        } else {
          this.isFullscreen = true
        }
      },
      // å‘送消息测试
      sendMessage() {
        messagesendtoAll(Object.assign({ title: '测试标题', message: '这是消息内容', messagetype: 1 }))
      },
    },
    // signalr接收的信息
    sockets: {
      ReceiveMessage(data) {
        switch (data.messagetype) {
          case 0:
            this.$notification.info({
              message: data.title,
              description: data.message,
              placement: 'bottomRight',
              duration: null
            })
          break
          case 1:
            this.$notification.success({
              message: data.title,
              description: data.message,
              placement: 'bottomRight',
              duration: null
            })
          break
          case 2:
            this.$notification.warning({
              message: data.title,
              description: data.message,
              placement: 'bottomRight',
              duration: null
            })
          break
          case 3:
            this.$notification.error({
              message: data.title,
              description: data.message,
              placement: 'bottomRight',
              duration: null
            })
          break
        }
      }
    }
  }
</script>
<style lang="less" scoped>
  .appRedio {
    border: 1px solid #91d5ff;
    padding: 10px 20px;
    background: #e6f7ff;
    border-radius: 2px;
    margin-bottom: 10px;
    color: #91d5ff;
    /*display: inline;
    margin-bottom:10px;*/
  }
</style>
LA22A07_Front/src/components/tools/index.js
LA22A07_Front/src/components/verifition/Verify.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,473 @@
<template>
  <div :class="mode=='pop'?'mask':''" v-show="showBox">
    <div :class="mode=='pop'?'verifybox':''" :style="{'max-width':parseInt(imgSize.width)+30+'px'}">
      <div class="verifybox-top" v-if="mode=='pop'">
        è¯·å®Œæˆå®‰å…¨éªŒè¯
        <span @click="closeBox" class="verifybox-close">
          <i class="iconfont icon-close"></i>
        </span>
      </div>
      <div :style="{padding:mode=='pop'?'15px':'0'}" class="verifybox-bottom">
        <!-- éªŒè¯ç å®¹å™¨ -->
        <components
          :arith="arith"
          :barSize="barSize"
          :blockSize="blockSize"
          :captchaType="captchaType"
          :explain="explain"
          :figure="figure"
          :imgSize="imgSize"
          :is="componentType"
          :mode="mode"
          :type="verifyType"
          :vSpace="vSpace"
          ref="instance"
          v-if="componentType"></components>
      </div>
    </div>
  </div>
</template>
<script type="text/babel">
    /**
     * Verify éªŒè¯ç ç»„ä»¶
     * @description åˆ†å‘验证码使用
     * */
    import VerifySlide from './Verify/VerifySlide'
    import VerifyPoints from './Verify/VerifyPoints'
    export default {
        name: 'Vue2Verify',
        props: {
            // åŒè¯­åŒ–
            locale: {
                require: false,
                type: String,
                default() {
                    // é»˜è®¤è¯­è¨€ä¸è¾“入为浏览器语言
                    if (navigator.language) {
                        var language = navigator.language
                    } else {
                        // eslint-disable-next-line no-redeclare
                        var language = navigator.browserLanguage
                    }
                    return language
                }
            },
            captchaType: {
                type: String,
                required: true
            },
            // eslint-disable-next-line vue/require-default-prop
            figure: {
                type: Number
            },
            // eslint-disable-next-line vue/require-default-prop
            arith: {
                type: Number
            },
            mode: {
                type: String,
                default: 'pop'
            },
            // eslint-disable-next-line vue/require-default-prop
            vSpace: {
                type: Number
            },
            // eslint-disable-next-line vue/require-default-prop
            explain: {
                type: String
            },
            imgSize: {
                type: Object,
                default() {
                    return {
                        width: '310px',
                        height: '155px'
                    }
                }
            },
            // eslint-disable-next-line vue/require-default-prop
            blockSize: {
                type: Object
            },
            // eslint-disable-next-line vue/require-default-prop
            barSize: {
                type: Object
            }
        },
        data() {
            return {
                // showBox:true,
                clickShow: false,
                // å†…部类型
                verifyType: undefined,
                // æ‰€ç”¨ç»„件类型
                componentType: undefined
            }
        },
        methods: {
            /**
             * i18n
             * @description å…¼å®¹vue-i18n è°ƒç”¨$t来转换ok
             * @param {String} text-被转换的目标
             * @return {String} i18n的结果
             * */
            i18n(text) {
                if (this.$t) {
                    return this.$t(text)
                } else {
                    // å…¼å®¹ä¸å­˜åœ¨çš„语言
                    const i18n = this.$options.i18n.messages[this.locale] || this.$options.i18n.messages['en-US']
                    return i18n[text]
                }
            },
            /**
             * refresh
             * @description åˆ·æ–°
             * */
            refresh() {
                if (this.instance.refresh) {
                    this.instance.refresh()
                }
            },
            closeBox() {
                this.clickShow = false
                this.refresh()
            },
            show() {
                // eslint-disable-next-line eqeqeq
                if (this.mode == 'pop') {
                    this.clickShow = true
                }
            }
        },
        computed: {
            instance() {
                return this.$refs.instance || {}
            },
            showBox() {
                // eslint-disable-next-line eqeqeq
                if (this.mode == 'pop') {
                    return this.clickShow
                } else {
                    return true
                }
            }
        },
        watch: {
            captchaType: {
                immediate: true,
                handler(captchaType) {
                    switch (captchaType.toString()) {
                        case 'blockPuzzle':
                            this.verifyType = '2'
                            this.componentType = 'VerifySlide'
                            break
                        case 'clickWord':
                            this.verifyType = ''
                            this.componentType = 'VerifyPoints'
                            break
                    }
                }
            }
        },
        components: {
            VerifySlide,
            VerifyPoints
        }
    }
</script>
<style>
    .verifybox{
        position: relative;
        box-sizing: border-box;
        border-radius: 2px;
        border: 1px solid #e4e7eb;
        background-color: #fff;
        box-shadow: 0 0 10px rgba(0,0,0,.3);
        left: 50%;
        top:50%;
        transform: translate(-50%,-50%);
    }
    .verifybox-top{
        padding: 0 15px;
        height: 50px;
        line-height: 50px;
        text-align: left;
        font-size: 16px;
        color: #45494c;
        border-bottom: 1px solid #e4e7eb;
        box-sizing: border-box;
    }
    .verifybox-bottom{
        padding: 15px;
        box-sizing: border-box;
    }
    .verifybox-close{
        position: absolute;
        top: 13px;
        right: 9px;
        width: 24px;
        height: 24px;
        text-align: center;
        cursor: pointer;
    }
    .mask{
        position: fixed;
        top: 0;
        left:0;
        z-index: 1001;
        width: 100%;
        height: 100vh;
        background: rgba(0,0,0,.3);
        /* display: none; */
        transition: all .5s;
    }
    .verify-tips{
        position: absolute;
        left: 0px;
        bottom:0px;
        width: 100%;
        height: 30px;
        line-height:30px;
        color: #fff;
    }
    .suc-bg{
       background-color:rgba(92, 184, 92,.5);
       filter: progid:DXImageTransform.Microsoft.gradient(startcolorstr=#7f5CB85C, endcolorstr=#7f5CB85C);
    }
    .err-bg{
       background-color:rgba(217, 83, 79,.5);
       filter: progid:DXImageTransform.Microsoft.gradient(startcolorstr=#7fD9534F, endcolorstr=#7fD9534F);
    }
    .tips-enter,.tips-leave-to{
        bottom: -30px;
    }
    .tips-enter-active,.tips-leave-active{
        transition: bottom .5s;
    }
    /* ---------------------------- */
    /*常规验证码*/
    .verify-code {
        font-size: 20px;
        text-align: center;
        cursor: pointer;
        margin-bottom: 5px;
        border: 1px solid #ddd;
    }
    .cerify-code-panel {
        height: 100%;
        overflow: hidden;
    }
    .verify-code-area {
        float: left;
    }
    .verify-input-area {
        float: left;
        width: 60%;
        padding-right: 10px;
    }
    .verify-change-area {
        line-height: 30px;
        float: left;
    }
    .varify-input-code {
        display: inline-block;
        width: 100%;
        height: 25px;
    }
    .verify-change-code {
        color: #337AB7;
        cursor: pointer;
    }
    .verify-btn {
        width: 200px;
        height: 30px;
        background-color: #337AB7;
        color: #FFFFFF;
        border: none;
        margin-top: 10px;
    }
    /*滑动验证码*/
    .verify-bar-area {
        position: relative;
        background: #FFFFFF;
        text-align: center;
        -webkit-box-sizing: content-box;
        -moz-box-sizing: content-box;
        box-sizing: content-box;
        border: 1px solid #ddd;
        -webkit-border-radius: 4px;
    }
    .verify-bar-area .verify-move-block {
        position: absolute;
        top: 0px;
        left: 0;
        background: #fff;
        cursor: pointer;
        -webkit-box-sizing: content-box;
        -moz-box-sizing: content-box;
        box-sizing: content-box;
        box-shadow: 0 0 2px #888888;
        -webkit-border-radius: 1px;
    }
    .verify-bar-area .verify-move-block:hover {
        background-color: #337ab7;
        color: #FFFFFF;
    }
    .verify-bar-area .verify-left-bar {
        position: absolute;
        top: -1px;
        left: -1px;
        background: #f0fff0;
        cursor: pointer;
        -webkit-box-sizing: content-box;
        -moz-box-sizing: content-box;
        box-sizing: content-box;
        border: 1px solid #ddd;
    }
    .verify-img-panel {
        margin: 0;
        -webkit-box-sizing: content-box;
        -moz-box-sizing: content-box;
        box-sizing: content-box;
        border-top: 1px solid #ddd;
        border-bottom: 1px solid #ddd;
        border-radius: 3px;
        position: relative;
    }
    .verify-img-panel .verify-refresh {
        width: 25px;
        height: 25px;
        text-align: center;
        padding: 5px;
        cursor: pointer;
        position: absolute;
        top: 0;
        right: 0;
        z-index: 2;
    }
    .verify-img-panel .icon-refresh {
        font-size: 20px;
        color: #fff;
    }
    .verify-img-panel .verify-gap {
        background-color: #fff;
        position: relative;
        z-index: 2;
        border: 1px solid #fff;
    }
    .verify-bar-area .verify-move-block .verify-sub-block {
        position: absolute;
        text-align: center;
        z-index: 3;
        /* border: 1px solid #fff; */
    }
    .verify-bar-area .verify-move-block .verify-icon {
        font-size: 18px;
    }
    .verify-bar-area .verify-msg {
        z-index: 3;
    }
    /*字体图标的css*/
    /*@font-face {font-family: "iconfont";*/
    /*src: url('../fonts/iconfont.eot?t=1508229193188'); !* IE9*!*/
    /*src: url('../fonts/iconfont.eot?t=1508229193188#iefix') format('embedded-opentype'), !* IE6-IE8 *!*/
    /*url('data:application/x-font-woff;charset=utf-8;base64,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') format('woff'),*/
    /*url('../fonts/iconfont.ttf?t=1508229193188') format('truetype'), !* chrome, firefox, opera, Safari, Android, iOS 4.2+*!*/
    /*url('../fonts/iconfont.svg?t=1508229193188#iconfont') format('svg'); !* iOS 4.1- *!*/
    /*}*/
    .iconfont {
        font-family: "iconfont" !important;
        font-size: 16px;
        font-style: normal;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }
    .icon-check:before {
        content: " ";
        display: block;
        width: 16px;
        height: 16px;
        position: absolute;
        margin: auto;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        z-index: 9999;
        background-image: url("data:image/png;base64,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");
        background-size: contain;
    }
    .icon-close:before {
        content: " ";
        display: block;
        width: 16px;
        height: 16px;
        position: absolute;
        margin: auto;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        z-index: 9999;
        background-image: url("data:image/png;base64,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");
        background-size: contain;
    }
    .icon-right:before {
        content: " ";
        display: block;
        width: 16px;
        height: 16px;
        position: absolute;
        margin: auto;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        background-size: cover;
        z-index: 9999;
        background-image: url("data:image/png;base64,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");
        background-size: contain;
    }
    .icon-refresh:before {
        content: " ";
        display: block;
        width: 16px;
        height: 16px;
        position: absolute;
        margin: auto;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        z-index: 9999;
        background-image: url("data:image/png;base64,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");
        background-size: contain;
    }
</style>
LA22A07_Front/src/components/verifition/Verify/VerifyPoints.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,259 @@
/* eslint-disable no-unused-vars */
<template>
  <div
    style="position: relative"
  >
    <div class="verify-img-out">
      <div
        :style="{'width': setSize.imgWidth,
                 'height': setSize.imgHeight,
                 'background-size' : setSize.imgWidth + ' '+ setSize.imgHeight,
                 'margin-bottom': vSpace + 'px'}"
        class="verify-img-panel"
      >
        <div @click="refresh" class="verify-refresh" style="z-index:3" v-show="showRefresh">
          <i class="iconfont icon-refresh"></i>
        </div>
        <img
          :src="'data:image/png;base64,'+pointBackImgBase"
          @click="bindingClick?canvasClick($event):undefined"
          alt=""
          ref="canvas"
          style="width:100%;height:100%;display:block">
        <div
          :key="index"
          :style="{
            'background-color':'#1abd6c',
            color:'#fff',
            'z-index':9999,
            width:'20px',
            height:'20px',
            'text-align':'center',
            'line-height':'20px',
            'border-radius': '50%',
            position:'absolute',
            top:parseInt(tempPoint.y-10) + 'px',
            left:parseInt(tempPoint.x-10) + 'px'
          }"
          class="point-area"
          v-for="(tempPoint, index) in tempPoints">
          {{ index + 1 }}
        </div>
      </div>
    </div>
    <!-- 'height': this.barSize.height, -->
    <div
      :style="{'width': setSize.imgWidth,
               'color': this.barAreaColor,
               'border-color': this.barAreaBorderColor,
               'line-height':this.barSize.height}"
      class="verify-bar-area">
      <span class="verify-msg">{{ text }}</span>
    </div>
  </div>
</template>
<script type="text/babel">
    /**
     * VerifyPoints
     * @description ç‚¹é€‰
     * */
    import { resetSize } from './../utils/util'
    import { aesEncrypt } from './../utils/ase'
    import { reqGet, reqCheck } from '@/api/modular/system/loginManage'
    export default {
        name: 'VerifyPoints',
        props: {
            // å¼¹å‡ºå¼pop,固定fixed
            mode: {
                type: String,
                default: 'fixed'
            },
            // eslint-disable-next-line vue/require-default-prop
            captchaType: {
                type: String
            },
            // é—´éš”
            vSpace: {
                type: Number,
                default: 5
            },
            imgSize: {
                type: Object,
                default() {
                    return {
                        width: '310px',
                        height: '155px'
                    }
                }
            },
            barSize: {
                type: Object,
                default() {
                    return {
                        width: '310px',
                        height: '40px'
                    }
                }
            }
        },
        data() {
            return {
                secretKey: '', // åŽç«¯è¿”回的ase加密秘钥
                checkNum: 3, // é»˜è®¤éœ€è¦ç‚¹å‡»çš„å­—æ•°
                fontPos: [], // é€‰ä¸­çš„坐标信息
                checkPosArr: [], // ç”¨æˆ·ç‚¹å‡»çš„坐标
                num: 1, // ç‚¹å‡»çš„è®°æ•°
                pointBackImgBase: '', // åŽç«¯èŽ·å–åˆ°çš„èƒŒæ™¯å›¾ç‰‡
                poinTextList: [], // åŽç«¯è¿”回的点击字体顺序
                backToken: '', // åŽç«¯è¿”回的token值
                setSize: {
                    imgHeight: 0,
                    imgWidth: 0,
                    barHeight: 0,
                    barWidth: 0
                },
                tempPoints: [],
                text: '',
                barAreaColor: undefined,
                barAreaBorderColor: undefined,
                showRefresh: true,
                bindingClick: true
            }
        },
        computed: {
            resetSize() {
                return resetSize
            }
        },
        methods: {
            init() {
                // åŠ è½½é¡µé¢
                this.fontPos.splice(0, this.fontPos.length)
                this.checkPosArr.splice(0, this.checkPosArr.length)
                this.num = 1
                this.getPictrue()
                this.$nextTick(() => {
                    this.setSize = this.resetSize(this)    // é‡æ–°è®¾ç½®å®½åº¦é«˜åº¦
                    this.$parent.$emit('ready', this)
                })
            },
            canvasClick(e) {
                this.checkPosArr.push(this.getMousePos(this.$refs.canvas, e))
                // eslint-disable-next-line eqeqeq
                if (this.num == this.checkNum) {
                    this.num = this.createPoint(this.getMousePos(this.$refs.canvas, e))
                    // æŒ‰æ¯”例转换坐标值
                    this.checkPosArr = this.pointTransfrom(this.checkPosArr, this.setSize)
                    // ç­‰åˆ›å»ºåæ ‡æ‰§è¡Œå®Œ
                    setTimeout(() => {
                        // var flag = this.comparePos(this.fontPos, this.checkPosArr);
                        // å‘送后端请求
                        var captchaVerification = this.secretKey ? aesEncrypt(this.backToken + '---' + JSON.stringify(this.checkPosArr), this.secretKey) : this.backToken + '---' + JSON.stringify(this.checkPosArr)
                        const data = {
                            captchaType: this.captchaType,
                            'pointJson': this.secretKey ? aesEncrypt(JSON.stringify(this.checkPosArr), this.secretKey) : JSON.stringify(this.checkPosArr),
                            'token': this.backToken
                        }
                        reqCheck(data).then(res => {
                            // eslint-disable-next-line eqeqeq
                            if (res.repCode == '0000') {
                                this.barAreaColor = '#4cae4c'
                                this.barAreaBorderColor = '#5cb85c'
                                this.text = '验证成功'
                                this.bindingClick = false
                                // eslint-disable-next-line eqeqeq
                                if (this.mode == 'pop') {
                                    setTimeout(() => {
                                        this.$parent.clickShow = false
                                        this.refresh()
                                    }, 1500)
                                }
                                this.$parent.$emit('success', { captchaVerification })
                            } else {
                                this.$parent.$emit('error', this)
                                this.barAreaColor = '#d9534f'
                                this.barAreaBorderColor = '#d9534f'
                                this.text = '验证失败'
                                setTimeout(() => {
                                    this.refresh()
                                }, 700)
                            }
                        })
                    }, 400)
                }
                if (this.num < this.checkNum) {
                    this.num = this.createPoint(this.getMousePos(this.$refs.canvas, e))
                }
            },
            // èŽ·å–åæ ‡
            getMousePos: function (obj, e) {
                var x = e.offsetX
                var y = e.offsetY
                return { x, y }
            },
            // åˆ›å»ºåæ ‡ç‚¹
            createPoint: function (pos) {
                this.tempPoints.push(Object.assign({}, pos))
                return ++this.num
            },
            refresh: function () {
                this.tempPoints.splice(0, this.tempPoints.length)
                this.barAreaColor = '#000'
                this.barAreaBorderColor = '#ddd'
                this.bindingClick = true
                this.fontPos.splice(0, this.fontPos.length)
                this.checkPosArr.splice(0, this.checkPosArr.length)
                this.num = 1
                this.getPictrue()
                this.text = '验证失败'
                this.showRefresh = true
            },
            // è¯·æ±‚背景图片和验证图片
            getPictrue() {
                const data = {
                    captchaType: this.captchaType
                }
                reqGet(data).then(res => {
                    // eslint-disable-next-line eqeqeq
                    if (res.repCode == '0000') {
                        this.pointBackImgBase = res.repData.originalImageBase64
                        this.backToken = res.repData.token
                        this.secretKey = res.repData.secretKey
                        this.poinTextList = res.repData.wordList
                        this.text = '请依次点击【' + this.poinTextList.join(',') + '】'
                    } else {
                        this.text = res.repMsg
                    }
                })
            },
            // åæ ‡è½¬æ¢å‡½æ•°
            pointTransfrom(pointArr, imgSize) {
                var newPointArr = pointArr.map(p => {
                    const x = Math.round(310 * p.x / parseInt(imgSize.imgWidth))
                    const y = Math.round(155 * p.y / parseInt(imgSize.imgHeight))
                    return { x, y }
                })
                return newPointArr
            }
        },
        watch: {
            // type变化则全面刷新
            type: {
                immediate: true,
                handler() {
                    this.init()
                }
            }
        },
        mounted() {
            // ç¦æ­¢æ‹–拽
            this.$el.onselectstart = function () {
                return false
            }
        }
    }
</script>
LA22A07_Front/src/components/verifition/Verify/VerifySlide.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,374 @@
<template>
  <div style="position: relative;">
    <div
      :style="{height: (parseInt(setSize.imgHeight) + vSpace) + 'px'}"
      class="verify-img-out"
      v-if="type === '2'"
    >
      <div
        :style="{width: setSize.imgWidth,
                 height: setSize.imgHeight,}"
        class="verify-img-panel">
        <img :src="'data:image/png;base64,'+backImgBase" alt="" style="width:100%;height:100%;display:block">
        <div @click="refresh" class="verify-refresh" v-show="showRefresh"><i class="iconfont icon-refresh"></i>
        </div>
        <transition name="tips">
          <span :class="passFlag ?'suc-bg':'err-bg'" class="verify-tips" v-if="tipWords">{{ tipWords }}</span>
        </transition>
      </div>
    </div>
    <!-- å…¬å…±éƒ¨åˆ† -->
    <div
      :style="{width: setSize.imgWidth,
               height: barSize.height,
               'line-height':barSize.height}"
      class="verify-bar-area">
      <span class="verify-msg" v-text="text"></span>
      <div
        :style="{width: (leftBarWidth!==undefined)?leftBarWidth: barSize.height, height: barSize.height, 'border-color': leftBarBorderColor, transaction: transitionWidth}"
        class="verify-left-bar">
        <span class="verify-msg" v-text="finishText"></span>
        <div
          :style="{width: barSize.height, height: barSize.height, 'background-color': moveBlockBackgroundColor, left: moveBlockLeft, transition: transitionLeft}"
          @mousedown="start"
          @touchstart="start"
          class="verify-move-block">
          <i
            :class="['verify-icon iconfont', iconClass]"
            :style="{color: iconColor}"></i>
          <div
            :style="{'width':Math.floor(parseInt(setSize.imgWidth)*47/310)+ 'px',
                     'height': setSize.imgHeight,
                     'top':'-' + (parseInt(setSize.imgHeight) + vSpace) + 'px',
                     'background-size': setSize.imgWidth + ' ' + setSize.imgHeight,
            }"
            class="verify-sub-block"
            v-if="type === '2'">
            <img :src="'data:image/png;base64,'+blockBackImgBase" alt="" style="width:100%;height:100%;display:block">
          </div>
        </div>
      </div>
    </div>
  </div>
</template>
<script type="text/babel">
    /**
     * VerifySlide
     * @description æ»‘块
     * */
    import { aesEncrypt } from './../utils/ase'
    import { resetSize } from './../utils/util'
    import { reqGet, reqCheck } from '@/api/modular/system/loginManage'
    //  "captchaType":"blockPuzzle",
    export default {
        name: 'VerifySlide',
        props: {
            // eslint-disable-next-line vue/require-default-prop
            captchaType: {
                type: String
            },
            type: {
                type: String,
                default: '1'
            },
            // å¼¹å‡ºå¼pop,固定fixed
            mode: {
                type: String,
                default: 'fixed'
            },
            vSpace: {
                type: Number,
                default: 5
            },
            explain: {
                type: String,
                default: '向右滑动完成验证'
            },
            imgSize: {
                type: Object,
                default() {
                    return {
                        width: '310px',
                        height: '155px'
                    }
                }
            },
            blockSize: {
                type: Object,
                default() {
                    return {
                        width: '50px',
                        height: '50px'
                    }
                }
            },
            barSize: {
                type: Object,
                default() {
                    return {
                        width: '310px',
                        height: '40px'
                    }
                }
            }
        },
        data() {
            return {
                secretKey: '', // åŽç«¯è¿”回的加密秘钥 å­—段
                passFlag: '', // æ˜¯å¦é€šè¿‡çš„æ ‡è¯†
                backImgBase: '', // éªŒè¯ç èƒŒæ™¯å›¾ç‰‡
                blockBackImgBase: '', // éªŒè¯æ»‘块的背景图片
                backToken: '', // åŽç«¯è¿”回的唯一token值
                startMoveTime: '', // ç§»åŠ¨å¼€å§‹çš„æ—¶é—´
                endMovetime: '', // ç§»åŠ¨ç»“æŸçš„æ—¶é—´
                tipsBackColor: '', // æç¤ºè¯çš„背景颜色
                tipWords: '',
                text: '',
                finishText: '',
                setSize: {
                    imgHeight: 0,
                    imgWidth: 0,
                    barHeight: 0,
                    barWidth: 0
                },
                top: 0,
                left: 0,
                moveBlockLeft: undefined,
                leftBarWidth: undefined,
                // ç§»åŠ¨ä¸­æ ·å¼
                moveBlockBackgroundColor: undefined,
                leftBarBorderColor: '#ddd',
                iconColor: undefined,
                iconClass: 'icon-right',
                status: false, // é¼ æ ‡çŠ¶æ€
                isEnd: false,        // æ˜¯å¤ŸéªŒè¯å®Œæˆ
                showRefresh: true,
                transitionLeft: '',
                transitionWidth: ''
            }
        },
        computed: {
            barArea() {
                return this.$el.querySelector('.verify-bar-area')
            },
            resetSize() {
                return resetSize
            }
        },
        methods: {
            init() {
                this.text = this.explain
                this.getPictrue()
                this.$nextTick(() => {
                    const setSize = this.resetSize(this)    // é‡æ–°è®¾ç½®å®½åº¦é«˜åº¦
                    for (const key in setSize) {
                        this.$set(this.setSize, key, setSize[key])
                    }
                    this.$parent.$emit('ready', this)
                })
                var _this = this
                window.removeEventListener('touchmove', function (e) {
                    _this.move(e)
                })
                window.removeEventListener('mousemove', function (e) {
                    _this.move(e)
                })
                // é¼ æ ‡æ¾å¼€
                window.removeEventListener('touchend', function () {
                    _this.end()
                })
                window.removeEventListener('mouseup', function () {
                    _this.end()
                })
                window.addEventListener('touchmove', function (e) {
                    _this.move(e)
                })
                window.addEventListener('mousemove', function (e) {
                    _this.move(e)
                })
                // é¼ æ ‡æ¾å¼€
                window.addEventListener('touchend', function () {
                    _this.end()
                })
                window.addEventListener('mouseup', function () {
                    _this.end()
                })
            },
            // é¼ æ ‡æŒ‰ä¸‹
            start: function (e) {
                e = e || window.event
                if (!e.touches) { // å…¼å®¹PC端
                    var x = e.clientX
                } else { // å…¼å®¹ç§»åŠ¨ç«¯
                    // eslint-disable-next-line no-redeclare
                    var x = e.touches[0].pageX
                }
                this.startLeft = Math.floor(x - this.barArea.getBoundingClientRect().left)
                this.startMoveTime = +new Date() // å¼€å§‹æ»‘动的时间
                // eslint-disable-next-line eqeqeq
                if (this.isEnd == false) {
                    this.text = ''
                    this.moveBlockBackgroundColor = '#337ab7'
                    this.leftBarBorderColor = '#337AB7'
                    this.iconColor = '#fff'
                    e.stopPropagation()
                    this.status = true
                }
            },
            // é¼ æ ‡ç§»åЍ
            move: function (e) {
                e = e || window.event
                // eslint-disable-next-line eqeqeq
                if (this.status && this.isEnd == false) {
                    if (!e.touches) { // å…¼å®¹PC端
                        var x = e.clientX
                    } else { // å…¼å®¹ç§»åŠ¨ç«¯
                        // eslint-disable-next-line no-redeclare
                        var x = e.touches[0].pageX
                    }
                    // eslint-disable-next-line camelcase
                    var bar_area_left = this.barArea.getBoundingClientRect().left
                    // eslint-disable-next-line camelcase
                    var move_block_left = x - bar_area_left // å°æ–¹å—相对于父元素的left值
                    // eslint-disable-next-line camelcase
                    if (move_block_left >= this.barArea.offsetWidth - parseInt(parseInt(this.blockSize.width) / 2) - 2) {
                        // eslint-disable-next-line camelcase
                        move_block_left = this.barArea.offsetWidth - parseInt(parseInt(this.blockSize.width) / 2) - 2
                    }
                    // eslint-disable-next-line camelcase
                    if (move_block_left <= 0) {
                        // eslint-disable-next-line camelcase
                        move_block_left = parseInt(parseInt(this.blockSize.width) / 2)
                    }
                    // æ‹–动后小方块的left值
                    // eslint-disable-next-line camelcase
                    this.moveBlockLeft = (move_block_left - this.startLeft) + 'px'
                    // eslint-disable-next-line camelcase
                    this.leftBarWidth = (move_block_left - this.startLeft) + 'px'
                }
            },
            // é¼ æ ‡æ¾å¼€
            end: function () {
                this.endMovetime = +new Date()
                var _this = this
                // åˆ¤æ–­æ˜¯å¦é‡åˆ
                // eslint-disable-next-line eqeqeq
                if (this.status && this.isEnd == false) {
                    var moveLeftDistance = parseInt((this.moveBlockLeft || '').replace('px', ''))
                    moveLeftDistance = moveLeftDistance * 310 / parseInt(this.setSize.imgWidth)
                    const data = {
                        captchaType: this.captchaType,
                        'pointJson': this.secretKey ? aesEncrypt(JSON.stringify({ x: moveLeftDistance, y: 5.0 }), this.secretKey) : JSON.stringify({ x: moveLeftDistance, y: 5.0 }),
                        'token': this.backToken
                    }
                    reqCheck(data).then(res => {
                        // eslint-disable-next-line eqeqeq
                        if (res.repCode == '0000') {
                            this.moveBlockBackgroundColor = '#5cb85c'
                            this.leftBarBorderColor = '#5cb85c'
                            this.iconColor = '#fff'
                            this.iconClass = 'icon-check'
                            this.showRefresh = false
                            this.isEnd = true
                            // eslint-disable-next-line eqeqeq
                            if (this.mode == 'pop') {
                                setTimeout(() => {
                                    this.$parent.clickShow = false
                                    this.refresh()
                                }, 1500)
                            }
                            this.passFlag = true
                            this.tipWords = `${((this.endMovetime - this.startMoveTime) / 1000).toFixed(2)}s验证成功`
                            var captchaVerification = this.secretKey ? aesEncrypt(this.backToken + '---' + JSON.stringify({ x: moveLeftDistance, y: 5.0 }), this.secretKey) : this.backToken + '---' + JSON.stringify({ x: moveLeftDistance, y: 5.0 })
                            setTimeout(() => {
                                this.tipWords = ''
                                this.$parent.closeBox()
                                this.$parent.$emit('success', { captchaVerification })
                            }, 1000)
                        } else {
                            this.moveBlockBackgroundColor = '#d9534f'
                            this.leftBarBorderColor = '#d9534f'
                            this.iconColor = '#fff'
                            this.iconClass = 'icon-close'
                            this.passFlag = false
                            setTimeout(function () {
                                _this.refresh()
                            }, 1000)
                            this.$parent.$emit('error', this)
                            this.tipWords = '验证失败'
                            setTimeout(() => {
                                    this.tipWords = ''
                            }, 1000)
                        }
                    })
                    this.status = false
                }
            },
            refresh: function () {
                this.showRefresh = true
                this.finishText = ''
                this.transitionLeft = 'left .3s'
                this.moveBlockLeft = 0
                this.leftBarWidth = undefined
                this.transitionWidth = 'width .3s'
                this.leftBarBorderColor = '#ddd'
                this.moveBlockBackgroundColor = '#fff'
                this.iconColor = '#000'
                this.iconClass = 'icon-right'
                this.isEnd = false
                this.getPictrue()
                setTimeout(() => {
                    this.transitionWidth = ''
                    this.transitionLeft = ''
                    this.text = this.explain
                }, 300)
            },
            // è¯·æ±‚背景图片和验证图片
            getPictrue() {
                const data = {
                    captchaType: this.captchaType
                }
                reqGet(data).then(res => {
                    // eslint-disable-next-line eqeqeq
                    if (res.repCode == '0000') {
                        this.backImgBase = res.repData.originalImageBase64
                        this.blockBackImgBase = res.repData.jigsawImageBase64
                        this.backToken = res.repData.token
                        this.secretKey = res.repData.secretKey
                    } else {
                        this.tipWords = res.repMsg
                    }
                })
            }
        },
        watch: {
            // type变化则全面刷新
            type: {
                immediate: true,
                handler() {
                    this.init()
                }
            }
        },
        mounted() {
            // ç¦æ­¢æ‹–拽
            this.$el.onselectstart = function () {
                return false
            }
        }
    }
</script>
LA22A07_Front/src/components/verifition/utils/ase.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,11 @@
import CryptoJS from 'crypto-js'
/**
 * @word è¦åŠ å¯†çš„å†…å®¹
 * @keyWord String  æœåŠ¡å™¨éšæœºè¿”å›žçš„å…³é”®å­—
 */
export function aesEncrypt(word, keyWord = 'XwKsGlMcdPMEhR1B') {
  var key = CryptoJS.enc.Utf8.parse(keyWord)
  var srcs = CryptoJS.enc.Utf8.parse(word)
  var encrypted = CryptoJS.AES.encrypt(srcs, key, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 })
  return encrypted.toString()
}
LA22A07_Front/src/components/verifition/utils/axios.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,30 @@
import axios from 'axios'
axios.defaults.baseURL = process.env.BASE_API
const service = axios.create({
  timeout: 40000,
  headers: {
    'X-Requested-With': 'XMLHttpRequest',
    'Content-Type': 'application/json; charset=UTF-8'
  }
})
service.interceptors.request.use(
  config => {
    return config
  },
  error => {
    Promise.reject(error)
  }
)
// response interceptor
service.interceptors.response.use(
  response => {
    const res = response.data
    return res
  },
  () => {
  }
)
export default service
LA22A07_Front/src/components/verifition/utils/util.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,52 @@
export function resetSize(vm) {
    // eslint-disable-next-line camelcase
    var img_width, img_height, bar_width, bar_height    // å›¾ç‰‡çš„宽度、高度,移动条的宽度、高度
    var parentWidth = vm.$el.parentNode.offsetWidth || window.offsetWidth
    var parentHeight = vm.$el.parentNode.offsetHeight || window.offsetHeight
    // eslint-disable-next-line eqeqeq
    if (vm.imgSize.width.indexOf('%') != -1) {
        // eslint-disable-next-line camelcase
        img_width = parseInt(this.imgSize.width) / 100 * parentWidth + 'px'
    } else {
        // eslint-disable-next-line camelcase
        img_width = this.imgSize.width
    }
    // eslint-disable-next-line eqeqeq
    if (vm.imgSize.height.indexOf('%') != -1) {
        // eslint-disable-next-line camelcase
        img_height = parseInt(this.imgSize.height) / 100 * parentHeight + 'px'
    } else {
        // eslint-disable-next-line camelcase
        img_height = this.imgSize.height
    }
    // eslint-disable-next-line eqeqeq
    if (vm.barSize.width.indexOf('%') != -1) {
        // eslint-disable-next-line camelcase
        bar_width = parseInt(this.barSize.width) / 100 * parentWidth + 'px'
    } else {
        // eslint-disable-next-line camelcase
        bar_width = this.barSize.width
    }
    // eslint-disable-next-line eqeqeq
    if (vm.barSize.height.indexOf('%') != -1) {
        // eslint-disable-next-line camelcase
        bar_height = parseInt(this.barSize.height) / 100 * parentHeight + 'px'
    } else {
        // eslint-disable-next-line camelcase
        bar_height = this.barSize.height
    }
    return { imgWidth: img_width, imgHeight: img_height, barWidth: bar_width, barHeight: bar_height }
}
// eslint-disable-next-line camelcase
export const _code_chars = [1, 2, 3, 4, 5, 6, 7, 8, 9, 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
// eslint-disable-next-line camelcase
export const _code_color1 = ['#fffff0', '#f0ffff', '#f0fff0', '#fff0f0']
// eslint-disable-next-line camelcase
export const _code_color2 = ['#FF0033', '#006699', '#993366', '#FF9900', '#66CC66', '#FF33CC']
LA22A07_Front/src/components/xnComponents/XCard.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
<template>
  <a-card :bordered="false" :bodyStyle="tstyle">
    <slot name="content"></slot>
  </a-card>
</template>
<script>
    export default {
        name: 'XCard',
      data() {
        return {
          tstyle: { 'padding-bottom': '0px', 'margin-bottom': '10px' }
        }
      }
    }
</script>
LA22A07_Front/src/config/defaultSettings.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,36 @@
/**
 * é¡¹ç›®é»˜è®¤é…ç½®é¡¹
 * primaryColor - é»˜è®¤ä¸»é¢˜è‰², å¦‚果修改颜色不生效,请清理 localStorage
 * navTheme - sidebar theme ['dark', 'light'] ä¸¤ç§ä¸»é¢˜
 * colorWeak - è‰²ç›²æ¨¡å¼
 * layout - æ•´ä½“布局方式 ['sidemenu', 'topmenu'] ä¸¤ç§å¸ƒå±€
 * fixedHeader - å›ºå®š Header : boolean
 * fixSiderbar - å›ºå®šå·¦ä¾§èœå•栏 ï¼š boolean
 * autoHideHeader - å‘下滚动时,隐藏 Header : boolean
 * contentWidth - å†…容区布局: æµå¼ |  å›ºå®š
 *
 * storageOptions: {} - Vue-ls æ’件配置项 (localStorage/sessionStorage)
 * production: å˜é‡æš‚先设定为 false,目的是各种环境都正常显示设置抽屉,真实环境请放开注释
 *
 *
 */
export default {
  primaryColor: '#FA541C', // primary color of ant design
  navTheme: 'light', // theme for nav menu
  layout: 'sidemenu', // nav menu position: sidemenu or topmenu
  contentWidth: 'Fixed', // layout of content: Fluid or Fixed, only works when layout is topmenu
  fixedHeader: true, // sticky header
  fixSiderbar: true, // sticky siderbar
  autoHideHeader: false, //  auto hide header
  colorWeak: false,
  multiTab: false,
  crumbsSate: false,
  production: process.env.NODE_ENV === 'production' && process.env.VUE_APP_PREVIEW !== 'true',
  // vue-ls options
  storageOptions: {
    namespace: 'pro__', // key prefix
    name: 'ls', // name variable Vue.[ls] or this.[$ls],
    storage: 'local' // storage name session, local, memory
  }
}
LA22A07_Front/src/config/router.config.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,98 @@
// eslint-disable-next-line
import { UserLayout, BasicLayout, RouteView, BlankLayout, PageView } from '@/layouts'
import { bxAnaalyse } from '@/core/icons'
export const asyncRouterMap = [
  {
    path: '/',
    name: 'MenuIndex.vue',
    component: BasicLayout,
    meta: { title: '首页' },
    redirect: '/dashboard/workplace',
    children: [
      // dashboard
      {
        path: 'dashboard',
        name: 'dashboard',
        redirect: '/dashboard/workplace',
        component: RouteView,
        // eslint-disable-next-line standard/object-curly-even-spacing
        meta: { title: '仪表盘', keepAlive: true, icon: bxAnaalyse /* permission: [ 'dashboard' ] */ },
        children: [
          {
            path: 'analysis/:pageNo([1-9]\\d*)?',
            name: 'Analysis',
            component: () => import('@/views/system/dashboard/Analysis'),
            // eslint-disable-next-line standard/object-curly-even-spacing
            meta: { title: '分析页', keepAlive: true /* permission: [ 'dashboard' ] */ }
          },
          {
            path: 'workplace',
            name: 'Workplace',
            component: () => import('@/views/system/dashboard/Workplace'),
            // eslint-disable-next-line standard/object-curly-even-spacing
            meta: { title: '工作台', keepAlive: false/*, permission: [ 'dashboard' ] */ }
          }
        ]
      }
    ]
  },
  {
    path: '*', redirect: '/404', hidden: true
  }
]
/**
 * åŸºç¡€è·¯ç”±
 * @type { *[] }
 */
export const constantRouterMap = [
  {
    path: '/user',
    component: UserLayout,
    redirect: '/user/login',
    hidden: true,
    children: [
      {
        path: 'login',
        name: 'login',
        component: () => import(/* webpackChunkName: "user" */ '@/views/userLoginReg/Login')
      },
      {
        path: 'register',
        name: 'register',
        component: () => import(/* webpackChunkName: "user" */ '@/views/userLoginReg/Register')
      },
      {
        path: 'register-result',
        name: 'registerResult',
        component: () => import(/* webpackChunkName: "user" */ '@/views/userLoginReg/RegisterResult')
      },
      {
        path: 'recover',
        name: 'recover',
        component: undefined
      }
    ]
  },
  {
    path: '/test',
    component: BlankLayout,
    redirect: '/test/home',
    children: [
      {
        path: 'home',
        name: 'TestHome',
        component: () => import('@/views/Home')
      }
    ]
  },
  {
    path: '/404',
    component: () => import(/* webpackChunkName: "fail" */ '@/views/system/exception/404')
  }
]
LA22A07_Front/src/core/bootstrap.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,41 @@
/*
 * @Author: your name
 * @Date: 2021-05-18 23:01:53
 * @LastEditTime: 2021-05-19 00:57:22
 * @LastEditors: your name
 * @Description: In User Settings Edit
 * @FilePath: \frontend\src\core\bootstrap.js
 */
import Vue from 'vue'
import store from '@/store/'
import {
  ACCESS_TOKEN,
  DEFAULT_COLOR,
  DEFAULT_THEME,
  DEFAULT_LAYOUT_MODE,
  DEFAULT_COLOR_WEAK,
  SIDEBAR_TYPE,
  DEFAULT_FIXED_HEADER,
  DEFAULT_FIXED_HEADER_HIDDEN,
  DEFAULT_FIXED_SIDEMENU,
  DEFAULT_CONTENT_WIDTH_TYPE,
  DEFAULT_MULTI_TAB,
  DEFAULT_CRUMBS_STATE
} from '@/store/mutation-types'
import config from '@/config/defaultSettings'
export default function Initializer () {
  store.commit('SET_SIDEBAR_TYPE', Vue.ls.get(SIDEBAR_TYPE, true))
  store.commit('TOGGLE_THEME', Vue.ls.get(DEFAULT_THEME, config.navTheme))
  store.commit('TOGGLE_LAYOUT_MODE', Vue.ls.get(DEFAULT_LAYOUT_MODE, config.layout))
  store.commit('TOGGLE_FIXED_HEADER', Vue.ls.get(DEFAULT_FIXED_HEADER, config.fixedHeader))
  store.commit('TOGGLE_FIXED_SIDERBAR', Vue.ls.get(DEFAULT_FIXED_SIDEMENU, config.fixSiderbar))
  store.commit('TOGGLE_CONTENT_WIDTH', Vue.ls.get(DEFAULT_CONTENT_WIDTH_TYPE, config.contentWidth))
  store.commit('TOGGLE_FIXED_HEADER_HIDDEN', Vue.ls.get(DEFAULT_FIXED_HEADER_HIDDEN, config.autoHideHeader))
  store.commit('TOGGLE_WEAK', Vue.ls.get(DEFAULT_COLOR_WEAK, config.colorWeak))
  store.commit('TOGGLE_COLOR', Vue.ls.get(DEFAULT_COLOR, config.primaryColor))
  store.commit('TOGGLE_MULTI_TAB', Vue.ls.get(DEFAULT_MULTI_TAB, config.multiTab))
  store.commit('TOGGLE_CRUMBS_STATE', Vue.ls.get(DEFAULT_CRUMBS_STATE, config.crumbsSate))
  store.commit('SET_TOKEN', Vue.ls.get(ACCESS_TOKEN))
}
LA22A07_Front/src/core/directives/action.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,34 @@
import Vue from 'vue'
import store from '@/store'
/**
 * Action æƒé™æŒ‡ä»¤
 * æŒ‡ä»¤ç”¨æ³•:
 *  - åœ¨éœ€è¦æŽ§åˆ¶ action çº§åˆ«æƒé™çš„组件上使用 v-action:[method] , å¦‚下:
 *    <i-button v-action:add >添加用户</a-button>
 *    <a-button v-action:delete>删除用户</a-button>
 *    <a v-action:edit @click="edit(record)">修改</a>
 *
 *  - å½“前用户没有权限时,组件上使用了该指令则会被隐藏
 *  - å½“后台权限跟 pro æä¾›çš„æ¨¡å¼ä¸åŒæ—¶ï¼Œåªéœ€è¦é’ˆå¯¹è¿™é‡Œçš„æƒé™è¿‡æ»¤è¿›è¡Œä¿®æ”¹å³å¯
 *
 *  @see https://github.com/sendya/ant-design-pro-vue/pull/53
 */
const action = Vue.directive('action', {
  inserted: function (el, binding, vnode) {
    const actionName = binding.arg
    const roles = store.getters.roles
    const elVal = vnode.context.$route.meta.permission
    const permissionId = elVal instanceof String && [elVal] || elVal
    roles.permissions.forEach(p => {
      if (!permissionId.includes(p.permissionId)) {
        return
      }
      if (p.actionList && !p.actionList.includes(actionName)) {
        el.parentNode && el.parentNode.removeChild(el) || (el.style.display = 'none')
      }
    })
  }
})
export default action
LA22A07_Front/src/core/icons.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,11 @@
/**
 * Custom icon list
 * All icons are loaded here for easy management
 * @see https://vue.ant.design/components/icon/#Custom-Font-Icon
 *
 * è‡ªå®šä¹‰å›¾æ ‡åŠ è½½è¡¨
 * æ‰€æœ‰å›¾æ ‡å‡ä»Žè¿™é‡ŒåŠ è½½ï¼Œæ–¹ä¾¿ç®¡ç†
 */
import bxAnaalyse from '@/assets/icons/bx-analyse.svg?inline' // path to your '*.svg?inline' file.
export { bxAnaalyse }
LA22A07_Front/src/core/lazy_lib/components_use.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,113 @@
/**
 * è¯¥æ–‡ä»¶æ˜¯ä¸ºäº†æŒ‰éœ€åŠ è½½ï¼Œå‰”é™¤æŽ‰äº†ä¸€äº›ä¸éœ€è¦çš„æ¡†æž¶ç»„ä»¶ã€‚
 * å‡å°‘了编译支持库包大小
 * @author yubaoshan
 * å½“需要更多组件依赖时,在该文件加入即可
 */
import Vue from 'vue'
import {
  ConfigProvider,
  Layout,
  Input,
  InputNumber,
  Button,
  Switch,
  Radio,
  Checkbox,
  Select,
  Card,
  Form,
  Row,
  Col,
  Modal,
  Table,
  Tabs,
  Icon,
  Badge,
  Popover,
  Dropdown,
  List,
  Avatar,
  Breadcrumb,
  Steps,
  Spin,
  Menu,
  Drawer,
  Tooltip,
  Alert,
  Tag,
  Divider,
  DatePicker,
  TimePicker,
  Upload,
  Progress,
  Skeleton,
  Popconfirm,
  message,
  notification,
  TreeSelect,
  Tree,
  Transfer,
  Empty,
  PageHeader,
  Descriptions,
  Result,
  Cascader
} from 'ant-design-vue'
// import VueCropper from 'vue-cropper'
Vue.use(ConfigProvider)
Vue.use(Layout)
Vue.use(Input)
Vue.use(InputNumber)
Vue.use(Button)
Vue.use(Switch)
Vue.use(Radio)
Vue.use(Checkbox)
Vue.use(Select)
Vue.use(Card)
Vue.use(Form)
Vue.use(Row)
Vue.use(Col)
Vue.use(Modal)
Vue.use(Table)
Vue.use(Tabs)
Vue.use(Icon)
Vue.use(Badge)
Vue.use(Popover)
Vue.use(Dropdown)
Vue.use(List)
Vue.use(Avatar)
Vue.use(Breadcrumb)
Vue.use(Steps)
Vue.use(Spin)
Vue.use(Menu)
Vue.use(Drawer)
Vue.use(Tooltip)
Vue.use(Alert)
Vue.use(Tag)
Vue.use(Divider)
Vue.use(DatePicker)
Vue.use(TimePicker)
Vue.use(Upload)
Vue.use(Progress)
Vue.use(Skeleton)
Vue.use(Popconfirm)
// Vue.use(VueCropper)
Vue.use(notification)
Vue.use(TreeSelect)
Vue.use(Tree)
Vue.use(Transfer)
Vue.use(Empty)
Vue.use(PageHeader)
Vue.use(Descriptions)
Vue.use(Result)
Vue.use(Cascader)
Vue.prototype.$confirm = Modal.confirm
Vue.prototype.$message = message
Vue.prototype.$notification = notification
Vue.prototype.$info = Modal.info
Vue.prototype.$success = Modal.success
Vue.prototype.$error = Modal.error
Vue.prototype.$warning = Modal.warning
LA22A07_Front/src/core/lazy_use.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,27 @@
import Vue from 'vue'
import VueStorage from 'vue-ls'
import config from '@/config/defaultSettings'
// base library
import '@/core/lazy_lib/components_use'
import Viser from 'viser-vue'
// ext library
import VueClipboard from 'vue-clipboard2'
import VueCropper from 'vue-cropper'
import MultiTab from '@/components/MultiTab'
import PageLoading from '@/components/PageLoading'
import PermissionHelper from '@/utils/helper/permission'
import './directives/action'
VueClipboard.config.autoSetContainer = true
Vue.use(Viser)
Vue.use(MultiTab)
Vue.use(PageLoading)
Vue.use(VueStorage, config.storageOptions)
Vue.use(VueClipboard)
Vue.use(PermissionHelper)
Vue.use(VueCropper)
process.env.NODE_ENV !== 'production' && console.warn('[antd-pro] NOTICE: Antd use lazy-load.')
LA22A07_Front/src/core/use.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,30 @@
import Vue from 'vue'
import VueStorage from 'vue-ls'
import config from '@/config/defaultSettings'
// base library
import Antd from 'ant-design-vue'
import Viser from 'viser-vue'
import VueCropper from 'vue-cropper'
import 'ant-design-vue/dist/antd.less'
// ext library
import VueClipboard from 'vue-clipboard2'
import MultiTab from '@/components/MultiTab'
import PageLoading from '@/components/PageLoading'
import PermissionHelper from '@/utils/helper/permission'
// import '@/components/use'
import './directives/action'
VueClipboard.config.autoSetContainer = true
Vue.use(Antd)
Vue.use(Viser)
Vue.use(MultiTab)
Vue.use(PageLoading)
Vue.use(VueStorage, config.storageOptions)
Vue.use(VueClipboard)
Vue.use(PermissionHelper)
Vue.use(VueCropper)
process.env.NODE_ENV !== 'production' && console.warn('[antd-pro] WARNING: Antd now use fulled imported.')
LA22A07_Front/src/layouts/BasicLayout.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,186 @@
<template>
  <a-layout :class="['layout', device]">
    <!-- SideMenu -->
    <a-drawer
      v-if="isMobile()"
      placement="left"
      :wrapClassName="`drawer-sider ${navTheme}`"
      :closable="false"
      :visible="collapsed"
      @close="drawerClose"
    >
      <side-menu
        mode="inline"
        :menus="menus"
        :theme="navTheme"
        :collapsed="false"
        :collapsible="true"
        @menuSelect="menuSelect"
      ></side-menu>
    </a-drawer>
    <side-menu
      v-else-if="isSideMenu()"
      mode="inline"
      :menus="menus"
      :theme="navTheme"
      :collapsed="collapsed"
      :collapsible="true"
    ></side-menu>
    <a-layout :class="[layoutMode, `content-width-${contentWidth}`]" :style="{ paddingLeft: contentPaddingLeft, minHeight: '100vh' }">
      <!-- layout header -->
      <global-header
        :mode="layoutMode"
        :menus="menus"
        :theme="navTheme"
        :collapsed="collapsed"
        :device="device"
        @toggle="toggle"
      />
      <!-- layout content -->
      <a-layout-content :style="{ height: '100%', margin: '24px 24px 0', paddingTop: fixedHeader ? '55px' : '0' }">
        <multi-tab v-if="multiTab"></multi-tab>
        <transition name="page-transition">
          <route-view />
        </transition>
      </a-layout-content>
      <!-- layout footer -->
      <a-layout-footer>
        <global-footer />
      </a-layout-footer>
      <!-- Setting Drawer (show in development mode) -->
      <setting-drawer v-if="!production"></setting-drawer>
    </a-layout>
  </a-layout>
</template>
<script>
import { triggerWindowResizeEvent } from '@/utils/util'
import { mapState, mapActions } from 'vuex'
import { mixin, mixinDevice } from '@/utils/mixin'
import config from '@/config/defaultSettings'
import RouteView from './RouteView'
import SideMenu from '@/components/Menu/SideMenu'
import GlobalHeader from '@/components/GlobalHeader'
import GlobalFooter from '@/components/GlobalFooter'
import SettingDrawer from '@/components/SettingDrawer'
import { convertRoutes } from '@/utils/routeConvert'
export default {
  name: 'BasicLayout',
  mixins: [mixin, mixinDevice],
  components: {
    RouteView,
    SideMenu,
    GlobalHeader,
    GlobalFooter,
    SettingDrawer
  },
  data () {
    return {
      production: config.production,
      collapsed: false,
      menus: []
    }
  },
  computed: {
    ...mapState({
      // åŠ¨æ€ä¸»è·¯ç”±
      mainMenu: state => state.permission.addRouters
    }),
    contentPaddingLeft () {
      if (!this.fixSidebar || this.isMobile()) {
        return '0'
      }
      if (this.sidebarOpened) {
        return '230px'
      }
      return '80px'
    }
  },
  watch: {
    sidebarOpened (val) {
      this.collapsed = !val
    },
    // èœå•变化
    mainMenu (val) {
      this.setMenus()
    }
  },
  created () {
    this.setMenus()
    /* const routes = convertRoutes(this.mainMenu.find(item => item.path === '/'))
    this.menus = (routes && routes.children) || [] */
    this.collapsed = !this.sidebarOpened
  },
  mounted () {
    const userAgent = navigator.userAgent
    if (userAgent.indexOf('Edge') > -1) {
      this.$nextTick(() => {
        this.collapsed = !this.collapsed
        setTimeout(() => {
          this.collapsed = !this.collapsed
        }, 16)
      })
    }
  },
  methods: {
    ...mapActions(['setSidebar']),
    // é‡æ–°ç”Ÿæˆ
    setMenus () {
      const routes = convertRoutes(this.mainMenu.find(item => item.path === '/'))
      this.menus = (routes && routes.children) || []
    },
    toggle () {
      this.collapsed = !this.collapsed
      this.setSidebar(!this.collapsed)
      triggerWindowResizeEvent()
    },
    paddingCalc () {
      let left = ''
      if (this.sidebarOpened) {
        left = this.isDesktop() ? '230px' : '80px'
      } else {
        left = (this.isMobile() && '0') || ((this.fixSidebar && '80px') || '0')
      }
      return left
    },
    menuSelect () {
    },
    drawerClose () {
      this.collapsed = false
    }
  }
}
</script>
<style lang="less">
/*
 * The following styles are auto-applied to elements with
 * transition="page-transition" when their visibility is toggled
 * by Vue.js.
 *
 * You can easily play with the page transition by editing
 * these styles.
 */
.page-transition-enter {
  opacity: 0;
}
.page-transition-leave-active {
  opacity: 0;
}
.page-transition-enter .page-transition-container,
.page-transition-leave-active .page-transition-container {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}
</style>
LA22A07_Front/src/layouts/BlankLayout.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
<template>
  <div>
    <router-view />
  </div>
</template>
<script>
export default {
  name: 'BlankLayout'
}
</script>
<style scoped>
</style>
LA22A07_Front/src/layouts/Iframe.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,29 @@
<script>
  import Vue from 'vue'
  import { ACCESS_TOKEN } from '@/store/mutation-types'
    export default {
      name: 'Iframe',
      data () {
          return {
          }
      },
      render () {
        const { $route: { meta: { link } } } = this
        if ({ link }.link === '') {
           return '404'
        }
        let url = ''
        if ({ link }.link.indexOf('token=') > -1) {
          url = { link }.link + Vue.ls.get(ACCESS_TOKEN)
        } else {
          url = { link }.link
        }
        let height = ''
        const deviceHeight = document.documentElement.clientHeight
        height = (Number(deviceHeight) - 260) + 'px'
        return <iframe id="iframe" height={height} src={url} style="width:100%;overflow:hidden;" frameBorder="0"></iframe>
      }
   }
</script>
LA22A07_Front/src/layouts/PageView.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,177 @@
<template>
  <div :style="!$route.meta.hiddenHeaderContent ? 'margin: -24px -24px 0px;' : null">
    <!-- pageHeader , route meta :true on hide -->
    <page-header v-if="!$route.meta.hiddenHeaderContent" :title="pageTitle" :logo="logo" :avatar="avatar">
      <slot slot="action" name="action"></slot>
      <slot slot="content" name="headerContent"></slot>
      <div slot="content" v-if="!this.$slots.headerContent && description">
        <p style="font-size: 14px;color: rgba(0,0,0,.65)">{{ description }}</p>
        <div class="link">
        </div>
      </div>
      <slot slot="extra" name="extra">
        <div class="extra-img">
          <img v-if="typeof extraImage !== 'undefined'" :src="extraImage"/>
        </div>
      </slot>
      <div slot="pageMenu">
        <div class="page-menu-search" v-if="search">
          <a-input-search
            style="width: 80%; max-width: 522px;"
            placeholder="请输入..."
            size="large"
            enterButton="搜索"
          />
        </div>
        <div class="page-menu-tabs" v-if="tabs && tabs.items">
          <!-- @change="callback" :activeKey="activeKey" -->
          <a-tabs :tabBarStyle="{margin: 0}" :activeKey="tabs.active()" @change="tabs.callback">
            <a-tab-pane v-for="item in tabs.items" :tab="item.title" :key="item.key"></a-tab-pane>
          </a-tabs>
        </div>
      </div>
    </page-header>
    <div class="content">
      <div class="page-header-index-wide">
        <slot>
          <!-- keep-alive  -->
          <keep-alive v-if="multiTab">
            <router-view ref="content" />
          </keep-alive>
          <router-view v-else ref="content" style="margin: -12px -14px 0;"/>
        </slot>
      </div>
    </div>
  </div>
</template>
<script>
import { mapState } from 'vuex'
import PageHeader from '@/components/PageHeader'
export default {
  name: 'PageView',
  components: {
    PageHeader
  },
  props: {
    avatar: {
      type: String,
      default: null
    },
    title: {
      type: [String, Boolean],
      default: true
    },
    logo: {
      type: String,
      default: null
    },
    directTabs: {
      type: Object,
      default: null
    }
  },
  data () {
    return {
      pageTitle: null,
      description: null,
      linkList: [],
      extraImage: '',
      search: false,
      tabs: {}
    }
  },
  computed: {
    ...mapState({
      multiTab: state => state.app.multiTab
    })
  },
  mounted () {
    this.tabs = this.directTabs
    this.getPageMeta()
  },
  updated () {
    this.getPageMeta()
  },
  methods: {
    getPageMeta () {
      // eslint-disable-next-line
      //文字样式//(typeof(this.title) === 'string' || !this.title) ? this.title : this.$route.meta.title
      // ä¸ºäº†ç®€æ´æ”¹ä¸ºæ— 
      this.pageTitle = ''
      const content = this.$refs.content
      if (content) {
        if (content.pageMeta) {
          Object.assign(this, content.pageMeta)
        } else {
          this.description = content.description
          this.linkList = content.linkList
          this.extraImage = content.extraImage
          this.search = content.search === true
          this.tabs = content.tabs
        }
      }
    }
  }
}
</script>
<style lang="less" scoped>
  .content {
    margin: 24px 24px 0;
    .link {
      margin-top: 16px;
      &:not(:empty) {
        margin-bottom: 16px;
      }
      a {
        margin-right: 32px;
        height: 24px;
        line-height: 24px;
        display: inline-block;
        i {
          font-size: 24px;
          margin-right: 8px;
          vertical-align: middle;
        }
        span {
          height: 24px;
          line-height: 24px;
          display: inline-block;
          vertical-align: middle;
        }
      }
    }
  }
  .page-menu-search {
    text-align: center;
    margin-bottom: 16px;
  }
  .page-menu-tabs {
    margin-top: 48px;
  }
  .extra-img {
    margin-top: -60px;
    text-align: center;
    width: 195px;
    img {
      width: 100%;
    }
  }
  .mobile {
    .extra-img{
      margin-top: 0;
      text-align: center;
      width: 96px;
      img{
        width: 100%;
      }
    }
  }
</style>
LA22A07_Front/src/layouts/RouteView.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,32 @@
<script>
export default {
  name: 'RouteView',
  props: {
    keepAlive: {
      type: Boolean,
      default: true
    }
  },
  data () {
    return {}
  },
  render () {
    const { $route: { meta }, $store: { getters } } = this
    const inKeep = (
      <keep-alive>
        <router-view />
      </keep-alive>
    )
    const notKeep = (
      <router-view />
    )
    // è¿™é‡Œå¢žåŠ äº† multiTab çš„判断,当开启了 multiTab æ—¶
    // åº”当全部组件皆缓存,否则会导致切换页面后页面还原成原始状态
    // è‹¥ç¡®å®žä¸éœ€è¦ï¼Œå¯æ”¹ä¸º return meta.keepAlive ? inKeep : notKeep
    if (!getters.multiTab && !meta.keepAlive) {
      return notKeep
    }
    return this.keepAlive || getters.multiTab || meta.keepAlive ? inKeep : notKeep
  }
}
</script>
LA22A07_Front/src/layouts/UserLayout.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,163 @@
<template>
  <div id="userLayout" :class="['user-layout-wrapper', device]">
    <div class="container">
      <div class="login-form-x">
        <div class="login-form-y">
          <div class="top">
            <div class="header">
              <div class="logo">
                <img src="~@/assets/logo3.jpg" alt="logo">
              </div>
              <span class="title">端拾器立库WMS</span>
            </div>
          </div>
          <route-view></route-view>
        </div>
      </div>
      <div class="footer">
        <!-- <div class="links">
          <a href="_self">帮助</a>
          <a href="_self">隐私</a>
          <a href="_self">条款</a>
        </div> -->
        <div class="copyright">
          <p>版权所有 Copyright©罗伯泰克</p>
        </div>
      </div>
    </div>
  </div>
</template>
<script>
import RouteView from './RouteView'
import { mixinDevice } from '@/utils/mixin'
export default {
  name: 'UserLayout',
  components: { RouteView },
  mixins: [mixinDevice],
  data () {
    return {}
  },
  mounted () {
    document.body.classList.add('userLayout')
  },
  beforeDestroy () {
    document.body.classList.remove('userLayout')
  }
}
</script>
<style lang="less" scoped>
  #userLayout.user-layout-wrapper {
    height: 100%;
    &.mobile {
      .container {
        .main {
          max-width: 368px;
          width: 98%;
        }
      }
    }
    .container {
      width: 100%;
      min-height: 100%;
      background-color: #ffffff;
      background-image: url("../assets/login_bk.png");
      background-attachment: fixed;
      background-repeat: no-repeat;
      background-position: top left;
      background-size: 100% 100%;
      padding: 110px 0 144px;
      position: relative;
      display: flex;
      align-items: center;
      .login-form-x{
        width:100%;
        box-sizing: border-box;
        display: flex;
        padding-right: 12%;
        justify-content: flex-end;
        .login-form-y{
          display: flex;
          flex-direction: column;
          min-width: 260px;
          width: 396px;
          padding:20px 20px 10px 20px;
          background-color: #fff;
          border-radius: 20px;
          opacity: 0.8;
        }
      }
      a {
        text-decoration: none;
      }
      .top {
        width: 100%;
        margin-bottom: 20px;
        .header {
          display:flex;
          flex-direction: column;
          justify-content: center;
          .logo {
            display:flex;
            justify-content: center;
            height:40px;
            img{
              height:100%;
              width:auto;
            }
          }
          .title {
            font-size: 33px;
            color: rgba(0, 0, 0, .85);
            font-family: Avenir, 'Helvetica Neue', Arial, Helvetica, sans-serif;
            font-weight: 600;
            display:flex;
            justify-content: center;
          }
        }
      }
      .main {
        width: 100%;
      }
      .footer {
        position: absolute;
        width: 100%;
        bottom: 0;
        padding: 0 16px;
        margin: 48px 0 12px;
        text-align: center;
        color: #F0F8FF;
        .links {
          margin-bottom: 8px;
          font-size: 14px;
          a {
            transition: all 0.3s;
            &:not(:last-child) {
              margin-right: 40px;
            }
          }
        }
        .copyright {
          font-size: 14px;
          p{
            margin-bottom: 0;
          }
        }
      }
    }
  }
</style>
LA22A07_Front/src/layouts/index.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
import UserLayout from './UserLayout'
import BlankLayout from './BlankLayout'
import BasicLayout from './BasicLayout'
import RouteView from './RouteView'
import PageView from './PageView'
import Iframe from './Iframe'
export { UserLayout, BasicLayout, BlankLayout, RouteView, PageView, Iframe }
LA22A07_Front/src/main.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,44 @@
// with polyfills
import 'core-js/stable'
import 'regenerator-runtime/runtime'
import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store/'
import { VueAxios } from './utils/request'
// WARNING: `mockjs` NOT SUPPORT `IE` PLEASE DO NOT USE IN `production` ENV.
import './mock'
import bootstrap from './core/bootstrap'
import './core/lazy_use'
import './permission'
import './utils/filter'
import './components/global.less'
import socket from './utils/socket'
import { Dialog } from '@/components'
import { hasBtnPermission } from './utils/permissions'
import { sysApplication } from './utils/applocation'
import 'k-form-design/packages/core/useComponents'
import KFormDesign from 'k-form-design/packages/use.js'
import 'k-form-design/lib/k-form-design.css'
import 'ant-design-vue/dist/antd.less'
import dataV from '@jiaminghi/data-view'
import createLoading from './components/Loading'
Vue.use(KFormDesign)
Vue.use(dataV)
Vue.use(socket, '/hubs/chatHub')
Vue.use(VueAxios)
Vue.use(Dialog)
Vue.prototype.hasPerm = hasBtnPermission
Vue.prototype.applocation = sysApplication
Vue.prototype.$loading = createLoading()
Vue.config.productionTip = false
new Vue({
  router,
  store,
  created: bootstrap,
  render: h => h(App)
}).$mount('#app')
LA22A07_Front/src/mock/index.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
import { isIE } from '@/utils/util'
// åˆ¤æ–­çŽ¯å¢ƒä¸æ˜¯ prod æˆ–者 preview æ˜¯ true æ—¶ï¼ŒåŠ è½½ mock æœåŠ¡
if (process.env.NODE_ENV !== 'production' || process.env.VUE_APP_PREVIEW === 'true') {
  if (isIE()) {
    console.error('[antd-pro] ERROR: `mockjs` NOT SUPPORT `IE` PLEASE DO NOT USE IN `production` ENV.')
  }
  // ä½¿ç”¨åŒæ­¥åŠ è½½ä¾èµ–
  // é˜²æ­¢ vuex ä¸­çš„ GetInfo æ—©äºŽ mock è¿è¡Œï¼Œå¯¼è‡´æ— æ³• mock è¯·æ±‚返回结果
  const Mock = require('mockjs2')
  require('./services/auth')
  require('./services/user')
  require('./services/manage')
  require('./services/other')
  require('./services/tagCloud')
  require('./services/article')
  Mock.setup({
    timeout: 800 // setter delay time
  })
}
LA22A07_Front/src/mock/services/article.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,88 @@
import Mock from 'mockjs2'
import { builder, getQueryParameters } from '../util'
const titles = [
  'Alipay',
  'Angular',
  'Ant Design',
  '青汽WMS',
  'Bootstrap',
  'React',
  'Vue',
  'Webpack'
]
const avatar = ['https://gw.alipayobjects.com/zos/rmsportal/WdGqmHpayyMjiEhcKoVE.png',
  'https://gw.alipayobjects.com/zos/rmsportal/zOsKZmFRdUtvpqCImOVY.png',
  'https://gw.alipayobjects.com/zos/rmsportal/dURIMkkrRFpPgTuzkwnB.png',
  'https://gw.alipayobjects.com/zos/rmsportal/sfjbOqnsXXJgNCjCzDBL.png',
  'https://gw.alipayobjects.com/zos/rmsportal/siCrBXXhmvTQGWPNLBow.png'
]
const covers = [
  'https://gw.alipayobjects.com/zos/rmsportal/uMfMFlvUuceEyPpotzlq.png',
  'https://gw.alipayobjects.com/zos/rmsportal/iZBVOIhGJiAnhplqjvZW.png',
  'https://gw.alipayobjects.com/zos/rmsportal/iXjVmWVHbCJAyqvDxdtx.png',
  'https://gw.alipayobjects.com/zos/rmsportal/gLaIAoVWTtLbBWZNYEMg.png'
]
const owner = [
  '付小小',
  '吴加好',
  '周星星',
  '林东东',
  '曲丽丽'
]
const content = '段落示意:蚂蚁金服设计平台 ant.design,用最小的工作量,无缝接入蚂蚁金服生态,提供跨越设计与开发的体验解决方案。蚂蚁金服设计平台 ant.design,用最小的工作量,无缝接入蚂蚁金服生态,提供跨越设计与开发的体验解决方案。'
const description = '在中台产品的研发过程中,会出现不同的设计规范和实现方式,但其中往往存在很多类似的页面和组件,这些类似的组件会被抽离成一套标准规范。'
const href = 'https://ant.design'
const article = (options) => {
  const queryParameters = getQueryParameters(options)
  if (queryParameters && !queryParameters.count) {
    queryParameters.count = 5
  }
  const data = []
  for (let i = 0; i < queryParameters.count; i++) {
    const tmpKey = i + 1
    const num = parseInt(Math.random() * (4 + 1), 10)
    data.push({
      id: tmpKey,
      avatar: avatar[num],
      owner: owner[num],
      content: content,
      star: Mock.mock('@integer(1, 999)'),
      percent: Mock.mock('@integer(1, 999)'),
      like: Mock.mock('@integer(1, 999)'),
      message: Mock.mock('@integer(1, 999)'),
      description: description,
      href: href,
      title: titles[ i % 8 ],
      updatedAt: Mock.mock('@datetime'),
      members: [
        {
          avatar: 'https://gw.alipayobjects.com/zos/rmsportal/ZiESqWwCXBRQoaPONSJe.png',
          name: '曲丽丽',
          id: 'member1'
        },
        {
          avatar: 'https://gw.alipayobjects.com/zos/rmsportal/tBOxZPlITHqwlGjsJWaF.png',
          name: '王昭君',
          id: 'member2'
        },
        {
          avatar: 'https://gw.alipayobjects.com/zos/rmsportal/sBxjgqiuHMGRkIjqlQCd.png',
          name: '董娜娜',
          id: 'member3'
        }
      ],
      activeUser: Math.ceil(Math.random() * 100000) + 100000,
      newUser: Math.ceil(Math.random() * 1000) + 1000,
      cover: parseInt(i / 4, 10) % 2 === 0 ? covers[i % 4] : covers[3 - (i % 4)]
    })
  }
  return builder(data)
}
Mock.mock(/\/list\/article/, 'get', article)
LA22A07_Front/src/mock/services/auth.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,49 @@
import Mock from 'mockjs2'
import { builder, getBody } from '../util'
const username = ['admin', 'super']
// å¼ºç¡¬è¦æ±‚ ant.design ç›¸åŒå¯†ç 
// '21232f297a57a5a743894a0e4a801fc3',
const password = ['8914de686ab28dc22f30d3d8e107ff6c'] // admin, ant.design
const login = (options) => {
  const body = getBody(options)
  if (!username.includes(body.username) || !password.includes(body.password)) {
    return builder({ isLogin: true }, '账户或密码错误', 401)
  }
  return builder({
    'id': Mock.mock('@guid'),
    'name': Mock.mock('@name'),
    'username': 'admin',
    'password': '',
    'avatar': 'https://gw.alipayobjects.com/zos/rmsportal/jZUIxmJycoymBprLOUbT.png',
    'status': 1,
    'telephone': '',
    'lastLoginIp': '27.154.74.117',
    'lastLoginTime': 1534837621348,
    'creatorId': 'admin',
    'createTime': 1497160610259,
    'deleted': 0,
    'roleId': 'admin',
    'lang': 'zh-CN',
    'token': '4291d7da9005377ec9aec4a71ea837f'
  }, '', 200, { 'Custom-Header': Mock.mock('@guid') })
}
const logout = () => {
  return builder({}, '[测试接口] æ³¨é”€æˆåŠŸ')
}
const smsCaptcha = () => {
  return builder({ captcha: Mock.mock('@integer(10000, 99999)') })
}
const twofactor = () => {
  return builder({ stepCode: Mock.mock('@integer(0, 1)') })
}
Mock.mock(/\/auth\/login/, 'post', login)
Mock.mock(/\/auth\/logout/, 'post', logout)
Mock.mock(/\/account\/sms/, 'post', smsCaptcha)
Mock.mock(/\/auth\/2step-code/, 'post', twofactor)
LA22A07_Front/src/mock/services/manage.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,252 @@
import Mock from 'mockjs2'
import { builder, getQueryParameters } from '../util'
const totalCount = 5701
const serverList = (options) => {
  const parameters = getQueryParameters(options)
  const result = []
  const pageNo = parseInt(parameters.pageNo)
  const pageSize = parseInt(parameters.pageSize)
  const totalPage = Math.ceil(totalCount / pageSize)
  const key = (pageNo - 1) * pageSize
  const next = (pageNo >= totalPage ? (totalCount % pageSize) : pageSize) + 1
  for (let i = 1; i < next; i++) {
    const tmpKey = key + i
    result.push({
      key: tmpKey,
      id: tmpKey,
      no: 'No ' + tmpKey,
      description: '这是一段描述',
      callNo: Mock.mock('@integer(1, 999)'),
      status: Mock.mock('@integer(0, 3)'),
      updatedAt: Mock.mock('@datetime'),
      editable: false
    })
  }
  return builder({
    pageSize: pageSize,
    pageNo: pageNo,
    totalCount: totalCount,
    totalPage: totalPage,
    data: result
  })
}
const projects = () => {
  return builder({
    '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: '青汽WMS',
      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
  })
}
const activity = () => {
  return builder([{
    id: 1,
    user: {
      nickname: '@name',
      avatar: 'https://gw.alipayobjects.com/zos/rmsportal/BiazfanxmamNRoxxVxka.png'
    },
    project: {
      name: '白鹭酱油开发组',
      action: '更新',
      event: '番组计划'
    },
    time: '2018-08-23 14:47:00'
  },
  {
    id: 1,
    user: {
      nickname: '蓝莓酱',
      avatar: 'https://gw.alipayobjects.com/zos/rmsportal/jZUIxmJycoymBprLOUbT.png'
    },
    project: {
      name: '白鹭酱油开发组',
      action: '更新',
      event: '番组计划'
    },
    time: '2018-08-23 09:35:37'
  },
  {
    id: 1,
    user: {
      nickname: '@name',
      avatar: '@image(64x64)'
    },
    project: {
      name: '白鹭酱油开发组',
      action: '创建',
      event: '番组计划'
    },
    time: '2017-05-27 00:00:00'
  },
  {
    id: 1,
    user: {
      nickname: '曲丽丽',
      avatar: '@image(64x64)'
    },
    project: {
      name: '高逼格设计天团',
      action: '更新',
      event: '六月迭代'
    },
    time: '2018-08-23 14:47:00'
  },
  {
    id: 1,
    user: {
      nickname: '@name',
      avatar: '@image(64x64)'
    },
    project: {
      name: '高逼格设计天团',
      action: 'created',
      event: '六月迭代'
    },
    time: '2018-08-23 14:47:00'
  },
  {
    id: 1,
    user: {
      nickname: '曲丽丽',
      avatar: 'https://gw.alipayobjects.com/zos/rmsportal/BiazfanxmamNRoxxVxka.png'
    },
    project: {
      name: '高逼格设计天团',
      action: 'created',
      event: '六月迭代'
    },
    time: '2018-08-23 14:47:00'
  }
  ])
}
const teams = () => {
  return builder([{
    id: 1,
    name: '科学搬砖组',
    avatar: 'https://gw.alipayobjects.com/zos/rmsportal/BiazfanxmamNRoxxVxka.png'
  },
  {
    id: 2,
    name: '程序员日常',
    avatar: 'https://gw.alipayobjects.com/zos/rmsportal/cnrhVkzwxjPwAaCfPbdc.png'
  },
  {
    id: 1,
    name: '设计天团',
    avatar: 'https://gw.alipayobjects.com/zos/rmsportal/gaOngJwsRYRaVAuXXcmB.png'
  },
  {
    id: 1,
    name: '中二少女团',
    avatar: 'https://gw.alipayobjects.com/zos/rmsportal/ubnKSIfAJTxIgXOKlciN.png'
  },
  {
    id: 1,
    name: '骗你学计算机',
    avatar: 'https://gw.alipayobjects.com/zos/rmsportal/WhxKECPNujWoWEFNdnJE.png'
  }
  ])
}
const radar = () => {
  return builder([{
    item: '引用',
    '个人': 70,
    '团队': 30,
    '部门': 40
  },
  {
    item: '口碑',
    '个人': 60,
    '团队': 70,
    '部门': 40
  },
  {
    item: '产量',
    '个人': 50,
    '团队': 60,
    '部门': 40
  },
  {
    item: '贡献',
    '个人': 40,
    '团队': 50,
    '部门': 40
  },
  {
    item: '热度',
    '个人': 60,
    '团队': 70,
    '部门': 40
  },
  {
    item: '引用',
    '个人': 70,
    '团队': 50,
    '部门': 40
  }
  ])
}
Mock.mock(/\/service/, 'get', serverList)
Mock.mock(/\/list\/search\/projects/, 'get', projects)
Mock.mock(/\/workplace\/activity/, 'get', activity)
Mock.mock(/\/workplace\/teams/, 'get', teams)
Mock.mock(/\/workplace\/radar/, 'get', radar)
LA22A07_Front/src/mock/services/other.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,973 @@
import Mock from 'mockjs2'
import { builder } from '../util'
const orgTree = () => {
  return builder([{
    'key': 'key-01',
    'title': '研发中心',
    'icon': 'mail',
    'children': [{
      'key': 'key-01-01',
      'title': '后端组',
      'icon': null,
      'group': true,
      children: [{
        'key': 'key-01-01-01',
        'title': 'JAVA',
        'icon': null
      },
      {
        'key': 'key-01-01-02',
        'title': 'PHP',
        'icon': null
      },
      {
        'key': 'key-01-01-03',
        'title': 'Golang',
        'icon': null
      }
      ]
    }, {
      'key': 'key-01-02',
      'title': '前端组',
      'icon': null,
      'group': true,
      children: [{
        'key': 'key-01-02-01',
        'title': 'React',
        'icon': null
      },
      {
        'key': 'key-01-02-02',
        'title': 'Vue',
        'icon': null
      },
      {
        'key': 'key-01-02-03',
        'title': 'Angular',
        'icon': null
      }
      ]
    }]
  }, {
    'key': 'key-02',
    'title': '财务部',
    'icon': 'dollar',
    'children': [{
      'key': 'key-02-01',
      'title': '会计核算',
      'icon': null
    }, {
      'key': 'key-02-02',
      'title': '成本控制',
      'icon': null
    }, {
      'key': 'key-02-03',
      'title': '内部控制',
      'icon': null,
      'children': [{
        'key': 'key-02-03-01',
        'title': '财务制度建设',
        'icon': null
      },
      {
        'key': 'key-02-03-02',
        'title': '会计核算',
        'icon': null
      }
      ]
    }]
  }])
}
const role = () => {
  return builder({
    'data': [{
      'id': 'admin',
      'name': '管理员',
      'describe': '拥有所有权限',
      'status': 1,
      'creatorId': 'system',
      'createTime': 1497160610259,
      'deleted': 0,
      'permissions': [{
        'roleId': 'admin',
        'permissionId': 'comment',
        'permissionName': '评论管理',
        'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"edit","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
        'actionEntitySet': [{
          'action': 'add',
          'describe': '新增',
          'defaultCheck': false
        },
        {
          'action': 'query',
          'describe': '查询',
          'defaultCheck': false
        },
        {
          'action': 'get',
          'describe': '详情',
          'defaultCheck': false
        },
        {
          'action': 'edit',
          'describe': '修改',
          'defaultCheck': false
        },
        {
          'action': 'delete',
          'describe': '删除',
          'defaultCheck': false
        }],
        'actionList': ['delete', 'edit'],
        'dataAccess': null
      },
      {
        'roleId': 'admin',
        'permissionId': 'member',
        'permissionName': '会员管理',
        'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"edit","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
        'actionEntitySet': [{
          'action': 'add',
          'describe': '新增',
          'defaultCheck': false
        },
        {
          'action': 'query',
          'describe': '查询',
          'defaultCheck': false
        },
        {
          'action': 'get',
          'describe': '详情',
          'defaultCheck': false
        },
        {
          'action': 'edit',
          'describe': '修改',
          'defaultCheck': false
        },
        {
          'action': 'delete',
          'describe': '删除',
          'defaultCheck': false
        }
        ],
        'actionList': ['query', 'get', 'edit', 'delete'],
        'dataAccess': null
      },
      {
        'roleId': 'admin',
        'permissionId': 'menu',
        'permissionName': '菜单管理',
        'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"import","defaultCheck":false,"describe":"导入"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"edit","defaultCheck":false,"describe":"修改"}]',
        'actionEntitySet': [{
          'action': 'add',
          'describe': '新增',
          'defaultCheck': false
        },
        {
          'action': 'import',
          'describe': '导入',
          'defaultCheck': false
        },
        {
          'action': 'get',
          'describe': '详情',
          'defaultCheck': false
        },
        {
          'action': 'edit',
          'describe': '修改',
          'defaultCheck': false
        }
        ],
        'actionList': ['add', 'import'],
        'dataAccess': null
      },
      {
        'roleId': 'admin',
        'permissionId': 'order',
        'permissionName': '订单管理',
        'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"edit","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
        'actionEntitySet': [{
          'action': 'add',
          'describe': '新增',
          'defaultCheck': false
        },
        {
          'action': 'query',
          'describe': '查询',
          'defaultCheck': false
        },
        {
          'action': 'get',
          'describe': '详情',
          'defaultCheck': false
        },
        {
          'action': 'edit',
          'describe': '修改',
          'defaultCheck': false
        },
        {
          'action': 'delete',
          'describe': '删除',
          'defaultCheck': false
        }
        ],
        'actionList': ['query', 'add', 'get'],
        'dataAccess': null
      },
      {
        'roleId': 'admin',
        'permissionId': 'permission',
        'permissionName': '权限管理',
        'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"edit","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
        'actionEntitySet': [{
          'action': 'add',
          'describe': '新增',
          'defaultCheck': false
        },
        {
          'action': 'get',
          'describe': '详情',
          'defaultCheck': false
        },
        {
          'action': 'edit',
          'describe': '修改',
          'defaultCheck': false
        },
        {
          'action': 'delete',
          'describe': '删除',
          'defaultCheck': false
        }
        ],
        'actionList': ['add', 'get', 'edit', 'delete'],
        'dataAccess': null
      },
      {
        'roleId': 'admin',
        'permissionId': 'role',
        'permissionName': '角色管理',
        'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"edit","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
        'actionEntitySet': [{
          'action': 'add',
          'describe': '新增',
          'defaultCheck': false
        },
        {
          'action': 'get',
          'describe': '详情',
          'defaultCheck': false
        },
        {
          'action': 'edit',
          'describe': '修改',
          'defaultCheck': false
        },
        {
          'action': 'delete',
          'describe': '删除',
          'defaultCheck': false
        }
        ],
        'actionList': null,
        'dataAccess': null
      },
      {
        'roleId': 'admin',
        'permissionId': 'test',
        'permissionName': '测试权限',
        'actions': '[]',
        'actionEntitySet': [],
        'actionList': null,
        'dataAccess': null
      },
      {
        'roleId': 'admin',
        'permissionId': 'user',
        'permissionName': '用户管理',
        'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"import","defaultCheck":false,"describe":"导入"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"edit","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"},{"action":"export","defaultCheck":false,"describe":"导出"}]',
        'actionEntitySet': [{
          'action': 'add',
          'describe': '新增',
          'defaultCheck': false
        },
        {
          'action': 'import',
          'describe': '导入',
          'defaultCheck': false
        },
        {
          'action': 'get',
          'describe': '详情',
          'defaultCheck': false
        },
        {
          'action': 'edit',
          'describe': '修改',
          'defaultCheck': false
        },
        {
          'action': 'delete',
          'describe': '删除',
          'defaultCheck': false
        },
        {
          'action': 'export',
          'describe': '导出',
          'defaultCheck': false
        }
        ],
        'actionList': ['add', 'get'],
        'dataAccess': null
      }
      ]
    },
    {
      'id': 'svip',
      'name': 'SVIP',
      'describe': '超级会员',
      'status': 1,
      'creatorId': 'system',
      'createTime': 1532417744846,
      'deleted': 0,
      'permissions': [{
        'roleId': 'admin',
        'permissionId': 'comment',
        'permissionName': '评论管理',
        'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"edit","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
        'actionEntitySet': [{
          'action': 'add',
          'describe': '新增',
          'defaultCheck': false
        },
        {
          'action': 'query',
          'describe': '查询',
          'defaultCheck': false
        },
        {
          'action': 'get',
          'describe': '详情',
          'defaultCheck': false
        },
        {
          'action': 'edit',
          'describe': '修改',
          'defaultCheck': false
        },
        {
          'action': 'delete',
          'describe': '删除',
          'defaultCheck': false
        }
        ],
        'actionList': ['add', 'get', 'delete'],
        'dataAccess': null
      },
      {
        'roleId': 'admin',
        'permissionId': 'member',
        'permissionName': '会员管理',
        'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"edit","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
        'actionEntitySet': [{
          'action': 'add',
          'describe': '新增',
          'defaultCheck': false
        },
        {
          'action': 'query',
          'describe': '查询',
          'defaultCheck': false
        },
        {
          'action': 'get',
          'describe': '详情',
          'defaultCheck': false
        }
        ],
        'actionList': ['add', 'query', 'get'],
        'dataAccess': null
      },
      {
        'roleId': 'admin',
        'permissionId': 'menu',
        'permissionName': '菜单管理',
        'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"import","defaultCheck":false,"describe":"导入"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"edit","defaultCheck":false,"describe":"修改"}]',
        'actionEntitySet': [{
          'action': 'add',
          'describe': '新增',
          'defaultCheck': false
        },
        {
          'action': 'import',
          'describe': '导入',
          'defaultCheck': false
        },
        {
          'action': 'get',
          'describe': '详情',
          'defaultCheck': false
        }
        ],
        'actionList': ['add', 'get'],
        'dataAccess': null
      },
      {
        'roleId': 'admin',
        'permissionId': 'order',
        'permissionName': '订单管理',
        'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"edit","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
        'actionEntitySet': [{
          'action': 'add',
          'describe': '新增',
          'defaultCheck': false
        },
        {
          'action': 'query',
          'describe': '查询',
          'defaultCheck': false
        },
        {
          'action': 'get',
          'describe': '详情',
          'defaultCheck': false
        },
        {
          'action': 'edit',
          'describe': '修改',
          'defaultCheck': false
        }
        ],
        'actionList': ['add', 'query'],
        'dataAccess': null
      },
      {
        'roleId': 'admin',
        'permissionId': 'permission',
        'permissionName': '权限管理',
        'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"edit","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
        'actionEntitySet': [{
          'action': 'add',
          'describe': '新增',
          'defaultCheck': false
        },
        {
          'action': 'get',
          'describe': '详情',
          'defaultCheck': false
        },
        {
          'action': 'edit',
          'describe': '修改',
          'defaultCheck': false
        }
        ],
        'actionList': ['add', 'get', 'edit'],
        'dataAccess': null
      },
      {
        'roleId': 'admin',
        'permissionId': 'role',
        'permissionName': '角色管理',
        'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"edit","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
        'actionEntitySet': [{
          'action': 'add',
          'describe': '新增',
          'defaultCheck': false
        },
        {
          'action': 'edit',
          'describe': '修改',
          'defaultCheck': false
        },
        {
          'action': 'delete',
          'describe': '删除',
          'defaultCheck': false
        }
        ],
        'actionList': null,
        'dataAccess': null
      },
      {
        'roleId': 'admin',
        'permissionId': 'test',
        'permissionName': '测试权限',
        'actions': '[]',
        'actionEntitySet': [],
        'actionList': ['add', 'edit'],
        'dataAccess': null
      },
      {
        'roleId': 'admin',
        'permissionId': 'user',
        'permissionName': '用户管理',
        'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"import","defaultCheck":false,"describe":"导入"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"edit","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"},{"action":"export","defaultCheck":false,"describe":"导出"}]',
        'actionEntitySet': [{
          'action': 'add',
          'describe': '新增',
          'defaultCheck': false
        },
        {
          'action': 'import',
          'describe': '导入',
          'defaultCheck': false
        },
        {
          'action': 'get',
          'describe': '详情',
          'defaultCheck': false
        },
        {
          'action': 'edit',
          'describe': '修改',
          'defaultCheck': false
        }
        ],
        'actionList': ['add'],
        'dataAccess': null
      }
      ]
    },
    {
      'id': 'user',
      'name': '普通会员',
      'describe': '普通用户,只能查询',
      'status': 1,
      'creatorId': 'system',
      'createTime': 1497160610259,
      'deleted': 0,
      'permissions': [{
        'roleId': 'user',
        'permissionId': 'comment',
        'permissionName': '评论管理',
        'actions': '[{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"}]',
        'actionEntitySet': [{
          'action': 'query',
          'describe': '查询',
          'defaultCheck': false
        },
        {
          'action': 'get',
          'describe': '详情',
          'defaultCheck': false
        }
        ],
        'actionList': ['query'],
        'dataAccess': null
      },
      {
        'roleId': 'user',
        'permissionId': 'marketing',
        'permissionName': '营销管理',
        'actions': '[]',
        'actionEntitySet': [],
        'actionList': null,
        'dataAccess': null
      },
      {
        'roleId': 'user',
        'permissionId': 'member',
        'permissionName': '会员管理',
        'actions': '[{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"}]',
        'actionEntitySet': [{
          'action': 'query',
          'describe': '查询',
          'defaultCheck': false
        },
        {
          'action': 'get',
          'describe': '详情',
          'defaultCheck': false
        }
        ],
        'actionList': null,
        'dataAccess': null
      },
      {
        'roleId': 'user',
        'permissionId': 'menu',
        'permissionName': '菜单管理',
        'actions': '[]',
        'actionEntitySet': [],
        'actionList': null,
        'dataAccess': null
      },
      {
        'roleId': 'user',
        'permissionId': 'order',
        'permissionName': '订单管理',
        'actions': '[{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"}]',
        'actionEntitySet': [{
          'action': 'query',
          'describe': '查询',
          'defaultCheck': false
        },
        {
          'action': 'get',
          'describe': '详情',
          'defaultCheck': false
        }
        ],
        'actionList': null,
        'dataAccess': null
      },
      {
        'roleId': 'user',
        'permissionId': 'permission',
        'permissionName': '权限管理',
        'actions': '[]',
        'actionEntitySet': [],
        'actionList': null,
        'dataAccess': null
      },
      {
        'roleId': 'user',
        'permissionId': 'role',
        'permissionName': '角色管理',
        'actions': '[]',
        'actionEntitySet': [],
        'actionList': null,
        'dataAccess': null
      },
      {
        'roleId': 'user',
        'permissionId': 'test',
        'permissionName': '测试权限',
        'actions': '[]',
        'actionEntitySet': [],
        'actionList': null,
        'dataAccess': null
      },
      {
        'roleId': 'user',
        'permissionId': 'user',
        'permissionName': '用户管理',
        'actions': '[]',
        'actionEntitySet': [],
        'actionList': null,
        'dataAccess': null
      }
      ]
    }
    ],
    'pageSize': 10,
    'pageNo': 0,
    'totalPage': 1,
    'totalCount': 5
  })
}
const permissionNoPager = () => {
  return builder([{
    'id': 'marketing',
    'name': '营销管理',
    'describe': null,
    'status': 1,
    'actionData': '[{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"edit","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
    'sptDaTypes': null,
    'optionalFields': null,
    'parents': null,
    'type': null,
    'deleted': 0,
    'actions': [
      'add',
      'query',
      'get',
      'edit',
      'delete'
    ]
  },
  {
    'id': 'member',
    'name': '会员管理',
    'describe': null,
    'status': 1,
    'actionData': '[{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"edit","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
    'sptDaTypes': null,
    'optionalFields': '[]',
    'parents': null,
    'type': 'default',
    'deleted': 0,
    'actions': [
      'add',
      'query',
      'get',
      'edit',
      'delete'
    ]
  },
  {
    'id': 'menu',
    'name': '菜单管理',
    'describe': null,
    'status': 1,
    'actionData': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"import","defaultCheck":false,"describe":"导入"},{"action":"get","defaultCheck":false,"describe":"查询"},{"action":"edit","defaultCheck":false,"describe":"修改"}]',
    'sptDaTypes': null,
    'optionalFields': '[]',
    'parents': null,
    'type': 'default',
    'deleted': 0,
    'actions': [
      'add',
      'import',
      'get',
      'edit'
    ]
  },
  {
    'id': 'order',
    'name': '订单管理',
    'describe': null,
    'status': 1,
    'actionData': '[{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"edit","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
    'sptDaTypes': null,
    'optionalFields': '[]',
    'parents': null,
    'type': 'default',
    'deleted': 0,
    'actions': [
      'add',
      'query',
      'get',
      'edit',
      'delete'
    ]
  },
  {
    'id': 'permission',
    'name': '权限管理',
    'describe': null,
    'status': 1,
    'actionData': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"get","defaultCheck":false,"describe":"查询"},{"action":"edit","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
    'sptDaTypes': null,
    'optionalFields': '[]',
    'parents': null,
    'type': 'default',
    'deleted': 0,
    'actions': [
      'add',
      'get',
      'edit',
      'delete'
    ]
  },
  {
    'id': 'role',
    'name': '角色管理',
    'describe': null,
    'status': 1,
    'actionData': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"get","defaultCheck":false,"describe":"查询"},{"action":"edit","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
    'sptDaTypes': null,
    'optionalFields': '[]',
    'parents': null,
    'type': 'default',
    'deleted': 0,
    'actions': [
      'add',
      'get',
      'edit',
      'delete'
    ]
  },
  {
    'id': 'test',
    'name': '测试权限',
    'describe': null,
    'status': 1,
    'actionData': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"get","defaultCheck":false,"describe":"详情"}]',
    'sptDaTypes': null,
    'optionalFields': '[]',
    'parents': null,
    'type': 'default',
    'deleted': 0,
    'actions': [
      'add',
      'get'
    ]
  },
  {
    'id': 'user',
    'name': '用户管理',
    'describe': null,
    'status': 1,
    'actionData': '[{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"edit","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"},{"action":"import","defaultCheck":false,"describe":"导入"},{"action":"export","defaultCheck":false,"describe":"导出"}]',
    'sptDaTypes': null,
    'optionalFields': '[]',
    'parents': null,
    'type': 'default',
    'deleted': 0,
    'actions': [
      'add',
      'get'
    ]
  }
  ])
}
const permissions = () => {
  return builder({
    'data': [{
      'id': 'marketing',
      'name': '营销管理',
      'describe': null,
      'status': 1,
      'actionData': '[{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"edit","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
      'sptDaTypes': null,
      'optionalFields': null,
      'parents': null,
      'type': null,
      'deleted': 0,
      'actions': [
        'add',
        'query',
        'get',
        'edit',
        'delete'
      ]
    },
    {
      'id': 'member',
      'name': '会员管理',
      'describe': null,
      'status': 1,
      'actionData': '[{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"edit","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
      'sptDaTypes': null,
      'optionalFields': '[]',
      'parents': null,
      'type': 'default',
      'deleted': 0,
      'actions': [
        'add',
        'query',
        'get',
        'edit',
        'delete'
      ]
    },
    {
      'id': 'menu',
      'name': '菜单管理',
      'describe': null,
      'status': 1,
      'actionData': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"import","defaultCheck":false,"describe":"导入"},{"action":"get","defaultCheck":false,"describe":"查询"},{"action":"edit","defaultCheck":false,"describe":"修改"}]',
      'sptDaTypes': null,
      'optionalFields': '[]',
      'parents': null,
      'type': 'default',
      'deleted': 0,
      'actions': [
        'add',
        'import',
        'get',
        'edit'
      ]
    },
    {
      'id': 'order',
      'name': '订单管理',
      'describe': null,
      'status': 1,
      'actionData': '[{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"edit","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
      'sptDaTypes': null,
      'optionalFields': '[]',
      'parents': null,
      'type': 'default',
      'deleted': 0,
      'actions': [
        'add',
        'query',
        'get',
        'edit',
        'delete'
      ]
    },
    {
      'id': 'permission',
      'name': '权限管理',
      'describe': null,
      'status': 1,
      'actionData': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"get","defaultCheck":false,"describe":"查询"},{"action":"edit","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
      'sptDaTypes': null,
      'optionalFields': '[]',
      'parents': null,
      'type': 'default',
      'deleted': 0,
      'actions': [
        'add',
        'get',
        'edit',
        'delete'
      ]
    },
    {
      'id': 'role',
      'name': '角色管理',
      'describe': null,
      'status': 1,
      'actionData': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"get","defaultCheck":false,"describe":"查询"},{"action":"edit","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
      'sptDaTypes': null,
      'optionalFields': '[]',
      'parents': null,
      'type': 'default',
      'deleted': 0,
      'actions': [
        'add',
        'get',
        'edit',
        'delete'
      ]
    },
    {
      'id': 'test',
      'name': '测试权限',
      'describe': null,
      'status': 1,
      'actionData': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"get","defaultCheck":false,"describe":"详情"}]',
      'sptDaTypes': null,
      'optionalFields': '[]',
      'parents': null,
      'type': 'default',
      'deleted': 0,
      'actions': [
        'add',
        'get'
      ]
    },
    {
      'id': 'user',
      'name': '用户管理',
      'describe': null,
      'status': 1,
      'actionData': '[{"action":"add","describe":"新增","defaultCheck":false},{"action":"get","describe":"查询","defaultCheck":false}]',
      'sptDaTypes': null,
      'optionalFields': '[]',
      'parents': null,
      'type': 'default',
      'deleted': 0,
      'actions': [
        'add',
        'get'
      ]
    }
    ],
    'pageSize': 10,
    'pageNo': 0,
    'totalPage': 1,
    'totalCount': 5
  })
}
Mock.mock(/\/org\/tree/, 'get', orgTree)
Mock.mock(/\/role/, 'get', role)
Mock.mock(/\/permission\/no-pager/, 'get', permissionNoPager)
Mock.mock(/\/permission/, 'get', permissions)
LA22A07_Front/src/mock/services/tagCloud.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,9 @@
import Mock from 'mockjs2'
import { builder } from '../util'
//
const tagCloudData = () => {
  return builder([{ 'value': 9, 'name': 'AntV' }, { 'value': 8, 'name': 'F2' }, { 'value': 8, 'name': 'G2' }, { 'value': 8, 'name': 'G6' }, { 'value': 8, 'name': 'DataSet' }, { 'value': 8, 'name': '墨者学院' }, { 'value': 6, 'name': 'Analysis' }, { 'value': 6, 'name': 'Data Mining' }, { 'value': 6, 'name': 'Data Vis' }, { 'value': 6, 'name': 'Design' }, { 'value': 6, 'name': 'Grammar' }, { 'value': 6, 'name': 'Graphics' }, { 'value': 6, 'name': 'Graph' }, { 'value': 6, 'name': 'Hierarchy' }, { 'value': 6, 'name': 'Labeling' }, { 'value': 6, 'name': 'Layout' }, { 'value': 6, 'name': 'Quantitative' }, { 'value': 6, 'name': 'Relation' }, { 'value': 6, 'name': 'Statistics' }, { 'value': 6, 'name': '可视化' }, { 'value': 6, 'name': '数据' }, { 'value': 6, 'name': '数据可视化' }, { 'value': 4, 'name': 'Arc Diagram' }, { 'value': 4, 'name': 'Bar Chart' }, { 'value': 4, 'name': 'Canvas' }, { 'value': 4, 'name': 'Chart' }, { 'value': 4, 'name': 'DAG' }, { 'value': 4, 'name': 'DG' }, { 'value': 4, 'name': 'Facet' }, { 'value': 4, 'name': 'Geo' }, { 'value': 4, 'name': 'Line' }, { 'value': 4, 'name': 'MindMap' }, { 'value': 4, 'name': 'Pie' }, { 'value': 4, 'name': 'Pizza Chart' }, { 'value': 4, 'name': 'Punch Card' }, { 'value': 4, 'name': 'SVG' }, { 'value': 4, 'name': 'Sunburst' }, { 'value': 4, 'name': 'Tree' }, { 'value': 4, 'name': 'UML' }, { 'value': 3, 'name': 'Chart' }, { 'value': 3, 'name': 'View' }, { 'value': 3, 'name': 'Geom' }, { 'value': 3, 'name': 'Shape' }, { 'value': 3, 'name': 'Scale' }, { 'value': 3, 'name': 'Animate' }, { 'value': 3, 'name': 'Global' }, { 'value': 3, 'name': 'Slider' }, { 'value': 3, 'name': 'Connector' }, { 'value': 3, 'name': 'Transform' }, { 'value': 3, 'name': 'Util' }, { 'value': 3, 'name': 'DomUtil' }, { 'value': 3, 'name': 'MatrixUtil' }, { 'value': 3, 'name': 'PathUtil' }, { 'value': 3, 'name': 'G' }, { 'value': 3, 'name': '2D' }, { 'value': 3, 'name': '3D' }, { 'value': 3, 'name': 'Line' }, { 'value': 3, 'name': 'Area' }, { 'value': 3, 'name': 'Interval' }, { 'value': 3, 'name': 'Schema' }, { 'value': 3, 'name': 'Edge' }, { 'value': 3, 'name': 'Polygon' }, { 'value': 3, 'name': 'Heatmap' }, { 'value': 3, 'name': 'Render' }, { 'value': 3, 'name': 'Tooltip' }, { 'value': 3, 'name': 'Axis' }, { 'value': 3, 'name': 'Guide' }, { 'value': 3, 'name': 'Coord' }, { 'value': 3, 'name': 'Legend' }, { 'value': 3, 'name': 'Path' }, { 'value': 3, 'name': 'Helix' }, { 'value': 3, 'name': 'Theta' }, { 'value': 3, 'name': 'Rect' }, { 'value': 3, 'name': 'Polar' }, { 'value': 3, 'name': 'Dsv' }, { 'value': 3, 'name': 'Csv' }, { 'value': 3, 'name': 'Tsv' }, { 'value': 3, 'name': 'GeoJSON' }, { 'value': 3, 'name': 'TopoJSON' }, { 'value': 3, 'name': 'Filter' }, { 'value': 3, 'name': 'Map' }, { 'value': 3, 'name': 'Pick' }, { 'value': 3, 'name': 'Rename' }, { 'value': 3, 'name': 'Filter' }, { 'value': 3, 'name': 'Map' }, { 'value': 3, 'name': 'Pick' }, { 'value': 3, 'name': 'Rename' }, { 'value': 3, 'name': 'Reverse' }, { 'value': 3, 'name': 'sort' }, { 'value': 3, 'name': 'Subset' }, { 'value': 3, 'name': 'Partition' }, { 'value': 3, 'name': 'Imputation' }, { 'value': 3, 'name': 'Fold' }, { 'value': 3, 'name': 'Aggregate' }, { 'value': 3, 'name': 'Proportion' }, { 'value': 3, 'name': 'Histogram' }, { 'value': 3, 'name': 'Quantile' }, { 'value': 3, 'name': 'Treemap' }, { 'value': 3, 'name': 'Hexagon' }, { 'value': 3, 'name': 'Binning' }, { 'value': 3, 'name': 'kernel' }, { 'value': 3, 'name': 'Regression' }, { 'value': 3, 'name': 'Density' }, { 'value': 3, 'name': 'Sankey' }, { 'value': 3, 'name': 'Voronoi' }, { 'value': 3, 'name': 'Projection' }, { 'value': 3, 'name': 'Centroid' }, { 'value': 3, 'name': 'H5' }, { 'value': 3, 'name': 'Mobile' }, { 'value': 3, 'name': 'K线图' }, { 'value': 3, 'name': '关系图' }, { 'value': 3, 'name': '烛形图' }, { 'value': 3, 'name': '股票图' }, { 'value': 3, 'name': '直方图' }, { 'value': 3, 'name': '金字塔图' }, { 'value': 3, 'name': '分面' }, { 'value': 3, 'name': '南丁格尔玫瑰图' }, { 'value': 3, 'name': '饼图' }, { 'value': 3, 'name': '线图' }, { 'value': 3, 'name': '点图' }, { 'value': 3, 'name': '散点图' }, { 'value': 3, 'name': '子弹图' }, { 'value': 3, 'name': '柱状图' }, { 'value': 3, 'name': '仪表盘' }, { 'value': 3, 'name': '气泡图' }, { 'value': 3, 'name': '漏斗图' }, { 'value': 3, 'name': '热力图' }, { 'value': 3, 'name': '玉玦图' }, { 'value': 3, 'name': '直方图' }, { 'value': 3, 'name': '矩形树图' }, { 'value': 3, 'name': '箱形图' }, { 'value': 3, 'name': '色块图' }, { 'value': 3, 'name': '螺旋图' }, { 'value': 3, 'name': '词云' }, { 'value': 3, 'name': '词云图' }, { 'value': 3, 'name': '雷达图' }, { 'value': 3, 'name': '面积图' }, { 'value': 3, 'name': '马赛克图' }, { 'value': 3, 'name': '盒须图' }, { 'value': 3, 'name': '坐标轴' }, { 'value': 3, 'name': '' }, { 'value': 3, 'name': 'Jacques Bertin' }, { 'value': 3, 'name': 'Leland Wilkinson' }, { 'value': 3, 'name': 'William Playfair' }, { 'value': 3, 'name': '关联' }, { 'value': 3, 'name': '分布' }, { 'value': 3, 'name': '区间' }, { 'value': 3, 'name': '占比' }, { 'value': 3, 'name': '地图' }, { 'value': 3, 'name': '时间' }, { 'value': 3, 'name': '比较' }, { 'value': 3, 'name': '流程' }, { 'value': 3, 'name': '趋势' }, { 'value': 2, 'name': '亦叶' }, { 'value': 2, 'name': '再飞' }, { 'value': 2, 'name': '完白' }, { 'value': 2, 'name': '巴思' }, { 'value': 2, 'name': '张初尘' }, { 'value': 2, 'name': '御术' }, { 'value': 2, 'name': '有田' }, { 'value': 2, 'name': '沉鱼' }, { 'value': 2, 'name': '玉伯' }, { 'value': 2, 'name': '画康' }, { 'value': 2, 'name': '祯逸' }, { 'value': 2, 'name': '绝云' }, { 'value': 2, 'name': '罗宪' }, { 'value': 2, 'name': '萧庆' }, { 'value': 2, 'name': '董珊珊' }, { 'value': 2, 'name': '陆沉' }, { 'value': 2, 'name': '顾倾' }, { 'value': 2, 'name': 'Domo' }, { 'value': 2, 'name': 'GPL' }, { 'value': 2, 'name': 'PAI' }, { 'value': 2, 'name': 'SPSS' }, { 'value': 2, 'name': 'SYSTAT' }, { 'value': 2, 'name': 'Tableau' }, { 'value': 2, 'name': 'D3' }, { 'value': 2, 'name': 'Vega' }, { 'value': 2, 'name': '统计图表' }])
}
Mock.mock(/\/data\/antv\/tag-cloud/, 'get', tagCloudData)
LA22A07_Front/src/mock/services/user.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,768 @@
import Mock from 'mockjs2'
import { builder } from '../util'
const info = (options) => {
  const userInfo = {
    'id': '4291d7da9005377ec9aec4a71ea837f',
    'name': '天野远子',
    'username': 'admin',
    'password': '',
    'avatar': '/avatar2.jpg',
    'status': 1,
    'telephone': '',
    'lastLoginIp': '27.154.74.117',
    'lastLoginTime': 1534837621348,
    'creatorId': 'admin',
    'createTime': 1497160610259,
    'merchantCode': 'TLif2btpzg079h15bk',
    'deleted': 0,
    'roleId': 'admin',
    'role': {}
  }
  // role
  const roleObj = {
    'id': 'admin',
    'name': '管理员',
    'describe': '拥有所有权限',
    'status': 1,
    'creatorId': 'system',
    'createTime': 1497160610259,
    'deleted': 0,
    'permissions': [{
      'roleId': 'admin',
      'permissionId': 'dashboard',
      'permissionName': '仪表盘',
      'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
      'actionEntitySet': [{
        'action': 'add',
        'describe': '新增',
        'defaultCheck': false
      }, {
        'action': 'query',
        'describe': '查询',
        'defaultCheck': false
      }, {
        'action': 'get',
        'describe': '详情',
        'defaultCheck': false
      }, {
        'action': 'update',
        'describe': '修改',
        'defaultCheck': false
      }, {
        'action': 'delete',
        'describe': '删除',
        'defaultCheck': false
      }],
      'actionList': null,
      'dataAccess': null
    }, {
      'roleId': 'admin',
      'permissionId': 'exception',
      'permissionName': '异常页面权限',
      'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
      'actionEntitySet': [{
        'action': 'add',
        'describe': '新增',
        'defaultCheck': false
      }, {
        'action': 'query',
        'describe': '查询',
        'defaultCheck': false
      }, {
        'action': 'get',
        'describe': '详情',
        'defaultCheck': false
      }, {
        'action': 'update',
        'describe': '修改',
        'defaultCheck': false
      }, {
        'action': 'delete',
        'describe': '删除',
        'defaultCheck': false
      }],
      'actionList': null,
      'dataAccess': null
    }, {
      'roleId': 'admin',
      'permissionId': 'result',
      'permissionName': '结果权限',
      'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
      'actionEntitySet': [{
        'action': 'add',
        'describe': '新增',
        'defaultCheck': false
      }, {
        'action': 'query',
        'describe': '查询',
        'defaultCheck': false
      }, {
        'action': 'get',
        'describe': '详情',
        'defaultCheck': false
      }, {
        'action': 'update',
        'describe': '修改',
        'defaultCheck': false
      }, {
        'action': 'delete',
        'describe': '删除',
        'defaultCheck': false
      }],
      'actionList': null,
      'dataAccess': null
    }, {
      'roleId': 'admin',
      'permissionId': 'profile',
      'permissionName': '详细页权限',
      'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
      'actionEntitySet': [{
        'action': 'add',
        'describe': '新增',
        'defaultCheck': false
      }, {
        'action': 'query',
        'describe': '查询',
        'defaultCheck': false
      }, {
        'action': 'get',
        'describe': '详情',
        'defaultCheck': false
      }, {
        'action': 'update',
        'describe': '修改',
        'defaultCheck': false
      }, {
        'action': 'delete',
        'describe': '删除',
        'defaultCheck': false
      }],
      'actionList': null,
      'dataAccess': null
    }, {
      'roleId': 'admin',
      'permissionId': 'table',
      'permissionName': '表格权限',
      'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"import","defaultCheck":false,"describe":"导入"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"update","defaultCheck":false,"describe":"修改"}]',
      'actionEntitySet': [{
        'action': 'add',
        'describe': '新增',
        'defaultCheck': false
      }, {
        'action': 'import',
        'describe': '导入',
        'defaultCheck': false
      }, {
        'action': 'get',
        'describe': '详情',
        'defaultCheck': false
      }, {
        'action': 'update',
        'describe': '修改',
        'defaultCheck': false
      }],
      'actionList': null,
      'dataAccess': null
    }, {
      'roleId': 'admin',
      'permissionId': 'form.vue',
      'permissionName': '表单权限',
      'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
      'actionEntitySet': [{
        'action': 'add',
        'describe': '新增',
        'defaultCheck': false
      }, {
        'action': 'get',
        'describe': '详情',
        'defaultCheck': false
      }, {
        'action': 'query',
        'describe': '查询',
        'defaultCheck': false
      }, {
        'action': 'update',
        'describe': '修改',
        'defaultCheck': false
      }, {
        'action': 'delete',
        'describe': '删除',
        'defaultCheck': false
      }],
      'actionList': null,
      'dataAccess': null
    }, {
      'roleId': 'admin',
      'permissionId': 'order',
      'permissionName': '订单管理',
      'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
      'actionEntitySet': [{
        'action': 'add',
        'describe': '新增',
        'defaultCheck': false
      }, {
        'action': 'query',
        'describe': '查询',
        'defaultCheck': false
      }, {
        'action': 'get',
        'describe': '详情',
        'defaultCheck': false
      }, {
        'action': 'update',
        'describe': '修改',
        'defaultCheck': false
      }, {
        'action': 'delete',
        'describe': '删除',
        'defaultCheck': false
      }],
      'actionList': null,
      'dataAccess': null
    }, {
      'roleId': 'admin',
      'permissionId': 'permission',
      'permissionName': '权限管理',
      'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
      'actionEntitySet': [{
        'action': 'add',
        'describe': '新增',
        'defaultCheck': false
      }, {
        'action': 'get',
        'describe': '详情',
        'defaultCheck': false
      }, {
        'action': 'update',
        'describe': '修改',
        'defaultCheck': false
      }, {
        'action': 'delete',
        'describe': '删除',
        'defaultCheck': false
      }],
      'actionList': null,
      'dataAccess': null
    }, {
      'roleId': 'admin',
      'permissionId': 'role',
      'permissionName': '角色管理',
      'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
      'actionEntitySet': [{
        'action': 'add',
        'describe': '新增',
        'defaultCheck': false
      }, {
        'action': 'get',
        'describe': '详情',
        'defaultCheck': false
      }, {
        'action': 'update',
        'describe': '修改',
        'defaultCheck': false
      }, {
        'action': 'delete',
        'describe': '删除',
        'defaultCheck': false
      }],
      'actionList': null,
      'dataAccess': null
    }, {
      'roleId': 'admin',
      'permissionId': 'table',
      'permissionName': '桌子管理',
      'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
      'actionEntitySet': [{
        'action': 'add',
        'describe': '新增',
        'defaultCheck': false
      }, {
        'action': 'get',
        'describe': '详情',
        'defaultCheck': false
      }, {
        'action': 'query',
        'describe': '查询',
        'defaultCheck': false
      }, {
        'action': 'update',
        'describe': '修改',
        'defaultCheck': false
      }, {
        'action': 'delete',
        'describe': '删除',
        'defaultCheck': false
      }],
      'actionList': null,
      'dataAccess': null
    }, {
      'roleId': 'admin',
      'permissionId': 'user',
      'permissionName': '用户管理',
      'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"import","defaultCheck":false,"describe":"导入"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"},{"action":"export","defaultCheck":false,"describe":"导出"}]',
      'actionEntitySet': [{
        'action': 'add',
        'describe': '新增',
        'defaultCheck': false
      }, {
        'action': 'import',
        'describe': '导入',
        'defaultCheck': false
      }, {
        'action': 'get',
        'describe': '详情',
        'defaultCheck': false
      }, {
        'action': 'update',
        'describe': '修改',
        'defaultCheck': false
      }, {
        'action': 'delete',
        'describe': '删除',
        'defaultCheck': false
      }, {
        'action': 'export',
        'describe': '导出',
        'defaultCheck': false
      }],
      'actionList': null,
      'dataAccess': null
    }]
  }
  roleObj.permissions.push({
    'roleId': 'admin',
    'permissionId': 'support',
    'permissionName': '超级模块',
    'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"import","defaultCheck":false,"describe":"导入"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"},{"action":"export","defaultCheck":false,"describe":"导出"}]',
    'actionEntitySet': [{
      'action': 'add',
      'describe': '新增',
      'defaultCheck': false
    }, {
      'action': 'import',
      'describe': '导入',
      'defaultCheck': false
    }, {
      'action': 'get',
      'describe': '详情',
      'defaultCheck': false
    }, {
      'action': 'update',
      'describe': '修改',
      'defaultCheck': false
    }, {
      'action': 'delete',
      'describe': '删除',
      'defaultCheck': false
    }, {
      'action': 'export',
      'describe': '导出',
      'defaultCheck': false
    }],
    'actionList': null,
    'dataAccess': null
  })
  userInfo.role = roleObj
  return builder(userInfo)
}
const userNav = (options) => {
  const nav = [
    // dashboard
    {
      'name': 'dashboard',
      'parentId': 0,
      'id': 1,
      'meta': {
        'icon': 'dashboard',
        'title': '仪表盘77',
        'show': true
      },
      'component': 'RouteView',
      'redirect': '/dashboard/workplace'
    },
    {
      'name': 'workplace',
      'parentId': 1,
      'id': 7,
      'meta': {
        'title': '工作台',
        'show': true
      },
      'component': 'Workplace'
    },
    {
      'name': 'monitor',
      'path': 'https://www.baidu.com/',
      'parentId': 1,
      'id': 3,
      'meta': {
        'title': '监控页(外部)',
        'target': '_blank',
        'show': true
      }
    },
    {
      'name': 'Analysis',
      'parentId': 1,
      'id': 2,
      'meta': {
        'title': '分析页',
        'show': true
      },
      'component': 'Analysis',
      'path': '/dashboard/analysis'
    },
    {
      'name': 'tests',
      'parentId': 1,
      'id': 8,
      'meta': {
        'title': '测试功能',
        'show': true
      },
      'component': 'TestWork'
    },
    // form
    {
      'name': 'form.vue',
      'parentId': 0,
      'id': 10,
      'meta': {
        'icon': 'form.vue',
        'title': '表单页'
      },
      'redirect': '/form/base-form',
      'component': 'PageView'
    },
    {
      'name': 'basic-form',
      'parentId': 10,
      'id': 6,
      'meta': {
        'title': '基础表单'
      },
      'component': 'BasicForm'
    },
    {
      'name': 'step-form',
      'parentId': 10,
      'id': 5,
      'meta': {
        'title': '分步表单'
      },
      'component': 'StepForm'
    },
    {
      'name': 'advanced-form',
      'parentId': 10,
      'id': 4,
      'meta': {
        'title': '高级表单'
      },
      'component': 'AdvanceForm'
    },
    // list
    {
      'name': 'list',
      'parentId': 0,
      'id': 10010,
      'meta': {
        'icon': 'table',
        'title': '列表页',
        'show': true
      },
      'redirect': '/list/table-list',
      'component': 'PageView'
    },
    {
      'name': 'table-list',
      'parentId': 10010,
      'id': 10011,
      'path': '/list/table-list/:pageNo([1-9]\\d*)?',
      'meta': {
        'title': '查询表格',
        'show': true
      },
      'component': 'TableList'
    },
    {
      'name': 'basic-list',
      'parentId': 10010,
      'id': 10012,
      'meta': {
        'title': '标准列表',
        'show': true
      },
      'component': 'StandardList'
    },
    {
      'name': 'card',
      'parentId': 10010,
      'id': 10013,
      'meta': {
        'title': '卡片列表',
        'show': true
      },
      'component': 'CardList'
    },
    {
      'name': 'search',
      'parentId': 10010,
      'id': 10014,
      'meta': {
        'title': '搜索列表',
        'show': true
      },
      'redirect': '/list/search/article',
      'component': 'SearchLayout'
    },
    {
      'name': 'article',
      'parentId': 10014,
      'id': 10015,
      'meta': {
        'title': '搜索列表(文章)',
        'show': true
      },
      'component': 'SearchArticles'
    },
    {
      'name': 'project',
      'parentId': 10014,
      'id': 10016,
      'meta': {
        'title': '搜索列表(项目)',
        'show': true
      },
      'component': 'SearchProjects'
    },
    {
      'name': 'application',
      'parentId': 10014,
      'id': 10017,
      'meta': {
        'title': '搜索列表(应用)',
        'show': true
      },
      'component': 'SearchApplications'
    },
    // profile
    {
      'name': 'profile',
      'parentId': 0,
      'id': 10018,
      'meta': {
        'title': '详情页',
        'icon': 'profile',
        'show': true
      },
      'redirect': '/profile/basic',
      'component': 'RouteView'
    },
    {
      'name': 'basic',
      'parentId': 10018,
      'id': 10019,
      'meta': {
        'title': '基础详情页',
        'show': true
      },
      'component': 'ProfileBasic'
    },
    {
      'name': 'advanced',
      'parentId': 10018,
      'id': 10020,
      'meta': {
        'title': '高级详情页',
        'show': true
      },
      'component': 'ProfileAdvanced'
    },
    // result
    {
      'name': 'result',
      'parentId': 0,
      'id': 10021,
      'meta': {
        'title': '结果页',
        'icon': 'check-circle-o',
        'show': true
      },
      'redirect': '/result/success',
      'component': 'PageView'
    },
    {
      'name': 'success',
      'parentId': 10021,
      'id': 10022,
      'meta': {
        'title': '成功',
        'hiddenHeaderContent': true,
        'show': true
      },
      'component': 'ResultSuccess'
    },
    {
      'name': 'fail',
      'parentId': 10021,
      'id': 10023,
      'meta': {
        'title': '失败',
        'hiddenHeaderContent': true,
        'show': true
      },
      'component': 'ResultFail'
    },
    // Exception
    {
      'name': 'exception',
      'parentId': 0,
      'id': 10024,
      'meta': {
        'title': '异常页',
        'icon': 'warning',
        'show': true
      },
      'redirect': '/exception/403',
      'component': 'RouteView'
    },
    {
      'name': '403',
      'parentId': 10024,
      'id': 10025,
      'meta': {
        'title': '403',
        'show': true
      },
      'component': 'Exception403'
    },
    {
      'name': '404',
      'parentId': 10024,
      'id': 10026,
      'meta': {
        'title': '404',
        'show': true
      },
      'component': 'Exception404'
    },
    {
      'name': '500',
      'parentId': 10024,
      'id': 10027,
      'meta': {
        'title': '500',
        'show': true
      },
      'component': 'Exception500'
    },
    // account
    {
      'name': 'account',
      'parentId': 0,
      'id': 10028,
      'meta': {
        'title': '个人页',
        'icon': 'user',
        'show': true
      },
      'redirect': '/account/center',
      'component': 'RouteView'
    },
    {
      'name': 'center',
      'parentId': 10028,
      'id': 10029,
      'meta': {
        'title': '个人中心',
        'show': true
      },
      'component': 'AccountCenter'
    },
    // ç‰¹æ®Šä¸‰çº§èœå•
    {
      'name': 'settings',
      'parentId': 10028,
      'id': 10030,
      'meta': {
        'title': '个人设置',
        'hideHeader': true,
        'hideChildren': true,
        'show': true
      },
      'redirect': '/account/settings/base',
      'component': 'AccountSettings'
    },
    {
      'name': 'BaseSettings',
      'path': '/account/settings/base',
      'parentId': 10030,
      'id': 10031,
      'meta': {
        'title': '基本设置',
        'show': false
      },
      'component': 'BaseSettings'
    },
    {
      'name': 'SecuritySettings',
      'path': '/account/settings/security',
      'parentId': 10030,
      'id': 10032,
      'meta': {
        'title': '安全设置',
        'show': false
      },
      'component': 'SecuritySettings'
    },
    {
      'name': 'CustomSettings',
      'path': '/account/settings/custom',
      'parentId': 10030,
      'id': 10033,
      'meta': {
        'title': '个性化设置',
        'show': false
      },
      'component': 'CustomSettings'
    },
    {
      'name': 'BindingSettings',
      'path': '/account/settings/binding',
      'parentId': 10030,
      'id': 10034,
      'meta': {
        'title': '账户绑定',
        'show': false
      },
      'component': 'BindingSettings'
    },
    {
      'name': 'NotificationSettings',
      'path': '/account/settings/notification',
      'parentId': 10030,
      'id': 10034,
      'meta': {
        'title': '新消息通知',
        'show': false
      },
      'component': 'NotificationSettings'
    }
  ]
  const json = builder(nav)
  return json
}
Mock.mock(/\/api\/user\/info/, 'get', info)
Mock.mock(/\/api\/user\/nav/, 'get', userNav)
LA22A07_Front/src/mock/util.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,38 @@
const responseBody = {
  message: '',
  timestamp: 0,
  result: null,
  code: 0
}
export const builder = (data, message, code = 0, headers = {}) => {
  responseBody.result = data
  if (message !== undefined && message !== null) {
    responseBody.message = message
  }
  if (code !== undefined && code !== 0) {
    responseBody.code = code
    responseBody._status = code
  }
  if (headers !== null && typeof headers === 'object' && Object.keys(headers).length > 0) {
    responseBody._headers = headers
  }
  responseBody.timestamp = new Date().getTime()
  return responseBody
}
export const getQueryParameters = (options) => {
  const url = options.url
  const search = url.split('?')[1]
  if (!search) {
    return {}
  }
  return JSON.parse('{"' + decodeURIComponent(search)
    .replace(/"/g, '\\"')
    .replace(/&/g, '","')
    .replace(/=/g, '":"') + '"}')
}
export const getBody = (options) => {
  return options.body && JSON.parse(options.body)
}
LA22A07_Front/src/permission.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,123 @@
import Vue from 'vue'
import router from './router'
import store from './store'
import NProgress from 'nprogress' // progress bar
import '@/components/NProgress/nprogress.less' // progress bar custom style
import { setDocumentTitle, domTitle } from '@/utils/domUtil'
import { ACCESS_TOKEN, ALL_APPS_MENU } from '@/store/mutation-types'
import { Modal, notification } from 'ant-design-vue' // NProgress Configuration
import { timeFix } from '@/utils/util'/// es/notification
import Enumerable from 'linq'
NProgress.configure({ showSpinner: false })
const whiteList = ['login', 'register', 'registerResult', 'wechat'] // no redirect whitelist
// æ— é»˜è®¤é¦–页的情况
const defaultRoutePath = '/welcome'
router.beforeEach((to, from, next) => {
  NProgress.start() // start progress bar
  to.meta && (typeof to.meta.title !== 'undefined' && setDocumentTitle(`${to.meta.title} - ${domTitle}`))
  if (Vue.ls.get(ACCESS_TOKEN)) {
    /* has token */
    if (to.path === '/user/login') {
      //next({ path: defaultRoutePath })
      NProgress.done()
    } else {
      if (store.getters.roles.length === 0) {
        store
          .dispatch('GetInfo')
          .then(res => {
            if (res.menus.length < 1) {
              Modal.error({
                title: '提示:',
                content: '无菜单权限,请联系管理员',
                okText: '确定',
                onOk: () => {
                  store.dispatch('Logout').then(() => {
                    window.location.reload()
                  })
                }
              })
              return
            }
            // eslint-disable-next-line camelcase
            const all_app_menu = Vue.ls.get(ALL_APPS_MENU)
            let antDesignmenus
            // eslint-disable-next-line camelcase
            if (all_app_menu == null) {
              const applocation = []
              res.apps.forEach(item => {
                const apps = { 'code': '', 'name': '', 'active': '', 'menu': '' }
                if (item.active) {
                  apps.code = item.code
                  apps.name = item.name
                  apps.active = item.active
                  apps.menu = res.menus
                  antDesignmenus = res.menus
                } else {
                  apps.code = item.code
                  apps.name = item.name
                  apps.active = item.active
                  apps.menu = ''
                }
                applocation.push(apps)
              })
              if (antDesignmenus === undefined) {
                // æ²¡æœ‰è®¾ç½®é»˜è®¤å€¼çš„æƒ…况下,使第一个应用菜单为默认菜单
                var firstApps = Enumerable.from(applocation).first()
                firstApps.active = 'Y'
                firstApps.menu = res.menus
                antDesignmenus = res.menus
              }
              Vue.ls.set(ALL_APPS_MENU, applocation, 7 * 24 * 60 * 60 * 1000)//缓存7天
              // å»¶è¿Ÿ 1 ç§’显示欢迎信息
              setTimeout(() => {
                notification.success({
                  message: '欢迎',
                  description: `${timeFix()},欢迎回来`
                })
              }, 1000)
            } else {
              antDesignmenus = Vue.ls.get(ALL_APPS_MENU)[0].menu
            }
            store.dispatch('GenerateRoutes', { antDesignmenus }).then(() => {
              // åŠ¨æ€æ·»åŠ å¯è®¿é—®è·¯ç”±è¡¨
              router.addRoutes(store.getters.addRouters)
              // è¯·æ±‚带有 redirect é‡å®šå‘时,登录自动重定向到该地址
              const redirect = decodeURIComponent(from.query.redirect || to.path)
              if (to.path === redirect) {
                next({ path: redirect })
                // hack方法 ç¡®ä¿addRoutes已完成 ,set the replace: true so the navigation will not leave a history record
                next({ ...to, replace: true })
              } else {
                // è·³è½¬åˆ°ç›®çš„路由
                next({ path: redirect })
              }
            })
          })
          .catch(() => {
            store.dispatch('Logout').then(() => {
              next({ path: '/user/login', query: { redirect: to.fullPath } })
            })
          })
        store.dispatch('getNoticReceiveList').then((res) => { })
      } else {
        next()
      }
    }
  } else {
    if (whiteList.includes(to.name)) {
      // åœ¨å…ç™»å½•白名单,直接进入
      next()
    } else {
      next({ path: '/user/login', query: { redirect: to.fullPath } })
      NProgress.done() // if current page is login will not trigger afterEach hook, so manually handle it
    }
  }
})
router.afterEach(() => {
  NProgress.done() // finish progress bar
})
LA22A07_Front/src/router/generator-routers.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,263 @@
import { BasicLayout, BlankLayout, PageView, RouteView, Iframe } from '@/layouts'
// å‰ç«¯è·¯ç”±è¡¨
const constantRouterComponents = {
  // åŸºç¡€é¡µé¢ layout å¿…须引入
  BasicLayout: BasicLayout,
  BlankLayout: BlankLayout,
  RouteView: RouteView,
  PageView: PageView,
  Iframe: Iframe,
  '403': () => import('@/views/system/exception/403'),
  '404': () => import('@/views/system/exception/404'),
  '500': () => import('@/views/system/exception/500'),
  'Workplace': () => import('@/views/system/dashboard/Workplace'),
  // account
  'AccountCenter': () => import('@/views/system/account/center/Index'),
  'AccountSettings': () => import('@/views/system/account/settings/Index'),
  'BaseSettings': () => import('@/views/system/account/settings/BaseSetting'),
  'SecuritySettings': () => import('@/views/system/account/settings/Security'),
  'CustomSettings': () => import('@/views/system/account/settings/Custom'),
  'BindingSettings': () => import('@/views/system/account/settings/Binding'),
  'NotificationSettings': () => import('@/views/system/account/settings/Notification'),
  // é»˜è®¤é¦–页
  'Console': () => import('@/views/system/index/welcome')
}
// å‰ç«¯æœªæ‰¾åˆ°é¡µé¢è·¯ç”±ï¼ˆå›ºå®šä¸ç”¨æ”¹ï¼‰ã€åŽŸæ¥ä¸º /404
const notFoundRouter = {
  path: '*', redirect: '/welcome', hidden: true
}
// ä¸ªäººä¸­å¿ƒé¡µé¢
const userAccount = [
  // account
  {
    'name': 'account',
    'pid': 0,
    'id': 10028,
    'meta': {
      'title': '个人页',
      'icon': 'user',
      'show': false
    },
    'redirect': '/account/center',
    'component': 'RouteView'
  },
  {
    'name': 'center',
    'pid': 10028,
    'id': 10029,
    'meta': {
      'title': '个人中心',
      'show': false
    },
    'component': 'AccountCenter'
  },
  // ç‰¹æ®Šä¸‰çº§èœå•
  {
    'name': 'settings',
    'pid': '10028',
    'id': '10030',
    'meta': {
      'title': '个人设置',
      'hideHeader': true,
      'hideChildren': true,
      'show': false
    },
    'redirect': '/account/settings/base',
    'component': 'AccountSettings'
  },
  {
    'name': 'BaseSettings',
    'path': '/account/settings/base',
    'pid': 10030,
    'id': 10031,
    'meta': {
      'title': '基本设置',
      'show': false
    },
    'component': 'BaseSettings'
  },
  {
    'name': 'SecuritySettings',
    'path': '/account/settings/security',
    'pid': 10030,
    'id': 10032,
    'meta': {
      'title': '安全设置',
      'show': false
    },
    'component': 'SecuritySettings'
  },
  {
    'name': 'CustomSettings',
    'path': '/account/settings/custom',
    'pid': 10030,
    'id': 10033,
    'meta': {
      'title': '个性化设置',
      'show': false
    },
    'component': 'CustomSettings'
  },
  {
    'name': 'BindingSettings',
    'path': '/account/settings/binding',
    'pid': 10030,
    'id': 10034,
    'meta': {
      'title': '账户绑定',
      'show': false
    },
    'component': 'BindingSettings'
  },
  {
    'name': 'NotificationSettings',
    'path': '/account/settings/notification',
    'pid': 10030,
    'id': 10034,
    'meta': {
      'title': '新消息通知',
      'show': false
    },
    'component': 'NotificationSettings'
  },
  {
    'name': 'Console',
    'path': '/welcome',
    'pid': 0,
    'id': 183183,
    'meta': {
      'title': '首页',
      'show': false
    },
    'component': 'Console'
  }
]
// æ ¹çº§èœå•
const rootRouter = {
  key: '',
  name: 'MenuIndex.vue',
  path: '',
  component: 'BasicLayout',
  redirect: '/welcome',
  meta: {
    title: '首页'
  },
  children: []
}
/**
 * åŠ¨æ€ç”Ÿæˆèœå•
 * @param data
 * @returns {Promise<Router>}
 */
export const generatorDynamicRouter = (data) => {
  return new Promise((resolve, reject) => {
    const resNav = data.antDesignmenus
    const menuNav = []
    const childrenNav = []
    //      åŽç«¯æ•°æ®, æ ¹çº§æ ‘数组,  æ ¹çº§ PID
    listToTree(resNav, childrenNav, 0)
    /**
     * å¢žåŠ é™æ€ç½‘é¡µ
     */
    listToTree(userAccount, childrenNav, 0)
    rootRouter.children = childrenNav
    menuNav.push(rootRouter)
    const routers = generator(menuNav)
    routers.push(notFoundRouter)
    resolve(routers)
  }).catch(err => {
    // reject('加载菜单失败')
    return Promise.reject(err)
  })
}
/**
 * æ ¼å¼åŒ–树形结构数据 ç”Ÿæˆ vue-router å±‚级路由表
 *
 * @param routerMap
 * @param parent
 * @returns {*}
 */
export const generator = (routerMap, parent) => {
  return routerMap.map(item => {
    // eslint-disable-next-line no-unused-vars
    const { title, show, hideChildren, hiddenHeaderContent, target, icon, link } = item.meta || {}
    const currentRouter = {
      // å¦‚果路由设置了 path,则作为默认 path,否则 è·¯ç”±åœ°å€ åŠ¨æ€æ‹¼æŽ¥ç”Ÿæˆå¦‚ /dashboard/workplace
      path: item.path || `${parent && parent.path || ''}/${item.key}`,
      // è·¯ç”±åç§°ï¼Œå»ºè®®å”¯ä¸€
      name: item.name || item.key || '',
      // è¯¥è·¯ç”±å¯¹åº”页面的 ç»„ä»¶ :方案1
      // component: constantRouterComponents[item.component || item.key],
      // è¯¥è·¯ç”±å¯¹åº”页面的 ç»„ä»¶ :方案2 (动态加载)
      component: (constantRouterComponents[item.component || item.key]) || (() => import(`@/views/${item.component}`)),
      // meta: é¡µé¢æ ‡é¢˜, èœå•图标, é¡µé¢æƒé™(供指令权限用,可去掉)
      meta: {
        title: title,
        icon: icon || undefined,
        // hiddenHeaderContent: hiddenHeaderContent,
        target: target,
        link: link
      }
    }
    // æ˜¯å¦è®¾ç½®äº†éšè—èœå•
    if (show === false) {
      currentRouter.hidden = true
    }
    // æ˜¯å¦è®¾ç½®äº†éšè—å­èœå•
    if (hideChildren) {
      currentRouter.hideChildrenInMenu = true
    }
    // ä¸ºäº†é˜²æ­¢å‡ºçŽ°åŽç«¯è¿”å›žç»“æžœä¸è§„èŒƒï¼Œå¤„ç†æœ‰å¯èƒ½å‡ºçŽ°æ‹¼æŽ¥å‡ºä¸¤ä¸ª åæ–œæ 
    if (!currentRouter.path.startsWith('http')) {
      currentRouter.path = currentRouter.path.replace('//', '/')
    }
    // é‡å®šå‘
    item.redirect && (currentRouter.redirect = item.redirect)
    // æ˜¯å¦æœ‰å­èœå•,并递归处理
    if (item.children && item.children.length > 0) {
      // Recursion
      currentRouter.children = generator(item.children, currentRouter)
    }
    return currentRouter
  })
}
/**
 * æ•°ç»„转树形结构
 * @param list æºæ•°ç»„
 * @param tree æ ‘
 * @param parentId çˆ¶ID
 */
const listToTree = (list, tree, parentId) => {
  if (list) {
    list.forEach(item => {
      // åˆ¤æ–­æ˜¯å¦ä¸ºçˆ¶çº§èœå•
      // eslint-disable-next-line eqeqeq
      if (item.pid == parentId) {
        const child = {
          ...item,
          key: item.key || item.name,
          children: []
        }
        // è¿­ä»£ list, æ‰¾åˆ°å½“前菜单相符合的所有子菜单
        listToTree(list, child.children, item.id)
        // åˆ æŽ‰ä¸å­˜åœ¨ children å€¼çš„属性
        if (child.children.length <= 0) {
          delete child.children
        }
        // åŠ å…¥åˆ°æ ‘ä¸­
        tree.push(child)
      }
    })
  }
}
LA22A07_Front/src/router/index.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
import Vue from 'vue'
import Router from 'vue-router'
import { constantRouterMap } from '@/config/router.config'
// hack router push callback
const originalPush = Router.prototype.push
Router.prototype.push = function push (location, onResolve, onReject) {
  if (onResolve || onReject) return originalPush.call(this, location, onResolve, onReject)
  return originalPush.call(this, location).catch(err => err)
}
Vue.use(Router)
export default new Router({
  mode: 'history',
  base: process.env.BASE_URL,
  scrollBehavior: () => ({ y: 0 }),
  routes: constantRouterMap
})
LA22A07_Front/src/store/getters.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
const getters = {
  device: state => state.app.device,
  theme: state => state.app.theme,
  color: state => state.app.color,
  token: state => state.user.token,
  avatar: state => state.user.avatar,
  nickname: state => state.user.name,
  welcome: state => state.user.welcome,
  roles: state => state.user.roles,
  buttons: state => state.user.buttons,
  allButtons: state => state.user.allButtons,
  admintype: state => state.user.admintype,
  userInfo: state => state.user.info,
  userNotices: state => state.user.notices,
  addRouters: state => state.permission.addRouters,
  multiTab: state => state.app.multiTab,
  lang: state => state.i18n.lang
}
export default getters
LA22A07_Front/src/store/index.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,32 @@
import Vue from 'vue'
import Vuex from 'vuex'
import app from './modules/app'
import user from './modules/user'
// default router permission control
// import permission from './modules/permission'
// dynamic router permission control (Experimental)
import permission from './modules/async-router'
import getters from './getters'
Vue.use(Vuex)
export default new Vuex.Store({
  modules: {
    app,
    user,
    permission
  },
  state: {
  },
  mutations: {
  },
  actions: {
  },
  getters
})
LA22A07_Front/src/store/modules/app.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,138 @@
import Vue from 'vue'
import {
  SIDEBAR_TYPE,
  DEFAULT_THEME,
  DEFAULT_LAYOUT_MODE,
  DEFAULT_COLOR,
  DEFAULT_COLOR_WEAK,
  DEFAULT_FIXED_HEADER,
  DEFAULT_FIXED_SIDEMENU,
  DEFAULT_FIXED_HEADER_HIDDEN,
  DEFAULT_CONTENT_WIDTH_TYPE,
  DEFAULT_MULTI_TAB,
  DEFAULT_CRUMBS_STATE
} from '@/store/mutation-types'
const app = {
  state: {
    sidebar: true,
    device: 'desktop',
    theme: '',
    layout: '',
    contentWidth: '',
    fixedHeader: false,
    fixSiderbar: false,
    autoHideHeader: false,
    color: null,
    weak: false,
    multiTab: true,
    crumbsState: true,
    hasError: false
  },
  mutations: {
    SET_SIDEBAR_TYPE: (state, type) => {
      state.sidebar = type
      Vue.ls.set(SIDEBAR_TYPE, type)
    },
    CLOSE_SIDEBAR: (state) => {
      Vue.ls.set(SIDEBAR_TYPE, true)
      state.sidebar = false
    },
    TOGGLE_DEVICE: (state, device) => {
      state.device = device
    },
    TOGGLE_THEME: (state, theme) => {
      // setStore('_DEFAULT_THEME', theme)
      Vue.ls.set(DEFAULT_THEME, theme)
      state.theme = theme
    },
    TOGGLE_LAYOUT_MODE: (state, layout) => {
      Vue.ls.set(DEFAULT_LAYOUT_MODE, layout)
      state.layout = layout
    },
    TOGGLE_FIXED_HEADER: (state, fixed) => {
      Vue.ls.set(DEFAULT_FIXED_HEADER, fixed)
      state.fixedHeader = fixed
    },
    TOGGLE_FIXED_SIDERBAR: (state, fixed) => {
      Vue.ls.set(DEFAULT_FIXED_SIDEMENU, fixed)
      state.fixSiderbar = fixed
    },
    TOGGLE_FIXED_HEADER_HIDDEN: (state, show) => {
      Vue.ls.set(DEFAULT_FIXED_HEADER_HIDDEN, show)
      state.autoHideHeader = show
    },
    TOGGLE_CONTENT_WIDTH: (state, type) => {
      Vue.ls.set(DEFAULT_CONTENT_WIDTH_TYPE, type)
      state.contentWidth = type
    },
    TOGGLE_COLOR: (state, color) => {
      Vue.ls.set(DEFAULT_COLOR, color)
      state.color = color
    },
    TOGGLE_WEAK: (state, flag) => {
      Vue.ls.set(DEFAULT_COLOR_WEAK, flag)
      state.weak = flag
    },
    TOGGLE_MULTI_TAB: (state, bool) => {
      Vue.ls.set(DEFAULT_MULTI_TAB, bool)
      state.multiTab = bool
    },
    TOGGLE_CRUMBS_STATE: (state, bool) => {
      Vue.ls.set(DEFAULT_CRUMBS_STATE, bool)
      state.crumbsState = bool
    },
    SET_HAS_ERROR: (state, bool) => {
      state.hasError = bool
    }
  },
  actions: {
    setSidebar ({ commit }, type) {
      commit('SET_SIDEBAR_TYPE', type)
    },
    CloseSidebar ({ commit }) {
      commit('CLOSE_SIDEBAR')
    },
    ToggleDevice ({ commit }, device) {
      commit('TOGGLE_DEVICE', device)
    },
    ToggleTheme ({ commit }, theme) {
      commit('TOGGLE_THEME', theme)
    },
    ToggleLayoutMode ({ commit }, mode) {
      commit('TOGGLE_LAYOUT_MODE', mode)
    },
    ToggleFixedHeader ({ commit }, fixedHeader) {
      if (!fixedHeader) {
        commit('TOGGLE_FIXED_HEADER_HIDDEN', false)
      }
      commit('TOGGLE_FIXED_HEADER', fixedHeader)
    },
    ToggleFixSiderbar ({ commit }, fixSiderbar) {
      commit('TOGGLE_FIXED_SIDERBAR', fixSiderbar)
    },
    ToggleFixedHeaderHidden ({ commit }, show) {
      commit('TOGGLE_FIXED_HEADER_HIDDEN', show)
    },
    ToggleContentWidth ({ commit }, type) {
      commit('TOGGLE_CONTENT_WIDTH', type)
    },
    ToggleColor ({ commit }, color) {
      commit('TOGGLE_COLOR', color)
    },
    ToggleWeak ({ commit }, weakFlag) {
      commit('TOGGLE_WEAK', weakFlag)
    },
    ToggleMultiTab ({ commit }, bool) {
      commit('TOGGLE_MULTI_TAB', bool)
    },
    ToggleCrumbsState ({ commit }, bool) {
      commit('TOGGLE_CRUMBS_STATE', bool)
    },
    SetHasError ({ commit }, bool) {
      commit('SET_HAS_ERROR', bool)
    }
  }
}
export default app
LA22A07_Front/src/store/modules/async-router.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,33 @@
/**
 * å‘后端请求用户的菜单,动态生成路由
 */
import { constantRouterMap } from '@/config/router.config'
import { generatorDynamicRouter } from '@/router/generator-routers'
const permission = {
  state: {
    routers: constantRouterMap,
    addRouters: []
  },
  mutations: {
    SET_ROUTERS: (state, routers) => {
      state.addRouters = routers
      state.routers = constantRouterMap.concat(routers)
    }
  },
  actions: {
    GenerateRoutes ({ commit }, data) {
      return new Promise(resolve => {
        generatorDynamicRouter(data).then(routers => {
          commit('SET_ROUTERS', routers)
          resolve()
        })
      }).catch(err => {
        // eslint-disable-next-line no-undef
        reject(err)
      })
    }
  }
}
export default permission
LA22A07_Front/src/store/modules/permission.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,76 @@
import { asyncRouterMap, constantRouterMap } from '@/config/router.config'
/**
 * è¿‡æ»¤è´¦æˆ·æ˜¯å¦æ‹¥æœ‰æŸä¸€ä¸ªæƒé™ï¼Œå¹¶å°†èœå•从加载列表移除
 *
 * @param permission
 * @param route
 * @returns {boolean}
 */
function hasPermission (permission, route) {
  // if (route.meta && route.meta.permission) {
  //   let flag = false
  //   for (let i = 0, len = permission.length; i < len; i++) {
  //     flag = route.meta.permission.includes(permission[i])
  //     if (flag) {
  //       return true
  //     }
  //   }
  //   return false
  // }
  return true
}
/**
 * å•账户多角色时,使用该方法可过滤角色不存在的菜单
 *
 * @param roles
 * @param route
 * @returns {*}
 */
// eslint-disable-next-line
function hasRole(roles, route) {
  if (route.meta && route.meta.roles) {
    return route.meta.roles.includes(roles.id)
  } else {
    return true
  }
}
function filterAsyncRouter (routerMap, roles) {
  const accessedRouters = routerMap.filter(route => {
    if (hasPermission(roles.permissionList, route)) {
      if (route.children && route.children.length) {
        route.children = filterAsyncRouter(route.children, roles)
      }
      return true
    }
    return false
  })
  return accessedRouters
}
const permission = {
  state: {
    routers: constantRouterMap,
    addRouters: []
  },
  mutations: {
    SET_ROUTERS: (state, routers) => {
      state.addRouters = routers
      state.routers = constantRouterMap.concat(routers)
    }
  },
  actions: {
    GenerateRoutes ({ commit }, data) {
      return new Promise(resolve => {
        const { roles } = data
        const accessedRouters = filterAsyncRouter(asyncRouterMap, roles)
        commit('SET_ROUTERS', accessedRouters)
        resolve()
      })
    }
  }
}
export default permission
LA22A07_Front/src/store/modules/user.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,258 @@
import Vue from 'vue'
import { login, getLoginUser, logout } from '@/api/modular/system/loginManage'
import { sysDictTypeTree } from '@/api/modular/system/dictManage'
import { sysMenuChange } from '@/api/modular/system/menuManage'
// eslint-disable-next-line no-unused-vars
import { ACCESS_TOKEN, ALL_APPS_MENU, DICT_TYPE_TREE_DATA, NOTICE_RECEIVED } from '@/store/mutation-types'
import { sysFileInfoPreview } from '@/api/modular/system/fileManage'
import {
  unReadNotice
} from '@/api/modular/system/noticeReceivedManage'
import { welcome, dateFormat } from '@/utils/util'
import store from '../index'
import router from '../../router'
const user = {
  state: {
    token: '',
    name: '',
    welcome: '',
    avatar: '',
    buttons: [], // æŒ‰é’®æƒé™
    allButtons: [], // æ‰€æœ‰æŒ‰é’®æƒé™
    admintype: '', // æ˜¯å¦æ˜¯è¶…管
    roles: [],
    info: {},
    notices: [] // æŽ¥æ”¶çš„通知公告
  },
  mutations: {
    SET_TOKEN: (state, token) => {
      state.token = token
    },
    SET_NAME: (state, { name, welcome }) => {
      state.name = name
      state.welcome = welcome
    },
    SET_AVATAR: (state, avatar) => {
      state.avatar = avatar
    },
    SET_ROLES: (state, roles) => {
      state.roles = roles
    },
    SET_INFO: (state, info) => {
      state.info = info
    },
    SET_BUTTONS: (state, buttons) => {
      state.buttons = buttons
    },
    SET_ALL_BUTTONS: (state, allButtons) => {
      state.allButtons = allButtons
    },
    SET_ADMINTYPE: (state, admintype) => {
      state.admintype = admintype
    },
    SET_NOTICES: (state, notices) => {
      state.notices = notices
    },
    APPEND_NOTICE: (state, notice) => {
      notice.publicTime = dateFormat(notice.publicTime, 'YYYY-mm-dd HH:MM:SS')
      const notices = state.notices
      const temp = notices.rows.filter(m => { return m.value === notice.type })[0]
      const other = notices.rows.filter(m => { return m.value !== notice.type })
      temp.noticeData.unshift(notice)
      notices.totalRows++
      if (temp.noticeData.length > 6) {
        temp.noticeData.pop()
      }
      notices.rows = []
      notices.rows.push(temp)
      notices.rows.push.apply(notices.rows, other)
      notices.rows.sort((obj1, obj2) => {
        return obj1.index - obj2.index
      })
      state.notices = notices
    },
    SUBTRACT_NOTICE: (state, notice) => {
      // æŸ¥çœ‹é€šçŸ¥åŽåœ¨æ¶ˆæ¯æç¤ºä¸­æ¶ˆé™¤å·²ç»æŸ¥çœ‹è¿‡çš„,此函数 å¯èƒ½ å­˜åœ¨æœªçŸ¥bug
      // notice.publicTime = dateFormat(notice.publicTime, 'YYYY-mm-dd HH:MM:SS')
      const notices = state.notices
      // debugger
      const temp = notices.rows.filter(m => { return m.value === notice.type })[0]
      const other = notices.rows.filter(m => { return m.value !== notice.type })
      temp.noticeData.shift(notice)
      notices.totalRows--
      if (temp.noticeData.length > 6) {
        temp.noticeData.pop()
      }
      notices.rows = []
      notices.rows.pop(temp)
      notices.rows.pop.apply(notices.rows, other)
      notices.rows.sort((obj1, obj2) => {
        return obj1.index - obj2.index
      })
      state.notices = notices
    }
  },
  actions: {
    // ç™»å½•
    Login ({ commit }, userInfo) {
      Vue.ls.remove(ALL_APPS_MENU)//清除菜单缓存
      return new Promise((resolve, reject) => {
        login(userInfo).then(response => {
          if (!response.success) {
            reject(response.message)
            return
          }
         // ä»Žå“åº” Header ä¸­è¯»å–,处理逻辑移至 request.js ä¸­å¤„理
          // const result = response.data
          // Vue.ls.set(ACCESS_TOKEN, result, 7 * 24 * 60 * 60 * 1000)
          // commit('SET_TOKEN', result)
          resolve()
        // eslint-disable-next-line handle-callback-err
        }).catch(error => {
          // eslint-disable-next-line prefer-promise-reject-errors
          reject('后端未启动或代理错误')
        })
      })
    },
    // èŽ·å–ç”¨æˆ·ä¿¡æ¯
    GetInfo ({ commit }) {
      return new Promise((resolve, reject) => {
        getLoginUser().then(response => {
          if (response.success) {
            const data = response.data
            commit('SET_ADMINTYPE', data.adminType)
            commit('SET_ROLES', 1)
            commit('SET_BUTTONS', data.permissions)
            commit('SET_ALL_BUTTONS', data.allPermissions)
            commit('SET_INFO', data)
            commit('SET_NAME', { name: data.name, welcome: welcome() })
            if (data.avatar != null) {
              sysFileInfoPreview({ id: data.avatar }).then((res) => {
                commit('SET_AVATAR', window.URL.createObjectURL(new Blob([res])))
              }).catch((err) => {
                this.$message.error('预览错误:' + err.message)
              })
              // commit('SET_AVATAR', process.env.VUE_APP_API_BASE_URL + '/sysFileInfo/preview?id=' + data.avatar)
            } else {
              commit('SET_AVATAR', '/avatar2.jpg')
            }
            resolve(data)
          } else {
            // eslint-disable-next-line no-undef
            reject(new Error(response.message))
          }
        })
        //登录过期后前端会发生高频访问后端的问题
        //.catch(error => {
        //  reject(error)
        //})
      })
    },
    // ç™»å‡º
    Logout ({ commit, state }) {
      return new Promise((resolve) => {
        logout(state.token).then(() => {
          resolve()
        }).catch(() => {
          resolve()
        }).finally(() => {
          commit('SET_TOKEN', '')
          commit('SET_ROLES', [])
          commit('SET_BUTTONS', [])
          commit('SET_ALL_BUTTONS', [])
          commit('SET_ADMINTYPE', '')
          Vue.ls.remove(ACCESS_TOKEN)
          Vue.ls.remove(ALL_APPS_MENU)
          Vue.ls.remove(DICT_TYPE_TREE_DATA)
          Vue.ls.remove('X-Access-Token')
        })
      })
    },
    // åŠ è½½æ‰€æœ‰å­—å…¸æ•°æ®
    dictTypeData () {
      return new Promise((resolve, reject) => {
        sysDictTypeTree().then((data) => {
          if (data.success) {
            const result = data.data
            Vue.ls.set(DICT_TYPE_TREE_DATA, result)
            resolve()
          } else {
            // eslint-disable-next-line no-undef
            reject(new Error(data.message))
          }
        }).catch(error => {
          reject(error)
        })
      })
    },
    // åˆ‡æ¢åº”用菜单
    MenuChange ({ commit }, application) {
      return new Promise((resolve) => {
        sysMenuChange({ application: application.code }).then((res) => {
          const apps = { 'code': '', 'name': '', 'active': '', 'menu': '' }
          apps.active = true
          apps.menu = res.data
          // eslint-disable-next-line camelcase
          const all_app_menu = Vue.ls.get(ALL_APPS_MENU)
          // eslint-disable-next-line camelcase
          const new_false_all_app_menu = []
          // å…ˆåŽ»é™¤æ‰€æœ‰é»˜è®¤çš„ï¼Œä»¥ä¸ºæ­¤æ—¶åˆ‡æ¢çš„å³å°†æˆä¸ºå‰ç«¯ç¼“å­˜é»˜è®¤çš„åº”ç”¨
          all_app_menu.forEach(item => {
            if (item.active) {
              item.active = false
            }
            new_false_all_app_menu.push(item)
          })
          // æ­¤æ—¶ç¼“存中全部都是不默认的应用
          Vue.ls.set(ALL_APPS_MENU, new_false_all_app_menu)
          apps.name = application.name
          apps.code = application.code
          const applocationR = []
          applocationR.push(apps)
          Vue.ls.set(ALL_APPS_MENU, applocationR)
          resolve(res)
          const antDesignmenus = res.data
          store.dispatch('GenerateRoutes', { antDesignmenus }).then(() => {
            router.addRoutes(store.getters.addRouters)
          })
          // åˆ‡æ¢åº”用刷新整体界面,暂且取消
          // window.location.reload()
        }).catch(() => {
          resolve()
        })
      })
    },
    // èŽ·å–æ”¶åˆ°çš„é€šçŸ¥
    getNoticReceiveList({
      commit
    }) {
      return new Promise((resolve, reject) => {
        unReadNotice({
          pageSize: 6
        }).then((data) => {
          if (data.success) {
            const result = data.data
            commit('SET_NOTICES', result)
            resolve()
          } else {
            // eslint-disable-next-line no-undef
            reject(new Error(data.message))
          }
        }).catch(error => {
          reject(error)
        })
      })
    }
  }
}
export default user
LA22A07_Front/src/store/mutation-types.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
export const ACCESS_TOKEN = 'Access-Token'
export const SIDEBAR_TYPE = 'SIDEBAR_TYPE'
export const ALL_APPS_MENU = 'ALL_APPS_MENU'
export const DEFAULT_THEME = 'DEFAULT_THEME'
export const DEFAULT_LAYOUT_MODE = 'DEFAULT_LAYOUT_MODE'
export const DEFAULT_COLOR = 'DEFAULT_COLOR'
export const DEFAULT_COLOR_WEAK = 'DEFAULT_COLOR_WEAK'
export const DEFAULT_FIXED_HEADER = 'DEFAULT_FIXED_HEADER'
export const DEFAULT_FIXED_SIDEMENU = 'DEFAULT_FIXED_SIDEMENU'
export const DEFAULT_FIXED_HEADER_HIDDEN = 'DEFAULT_FIXED_HEADER_HIDDEN'
export const DEFAULT_CONTENT_WIDTH_TYPE = 'DEFAULT_CONTENT_WIDTH_TYPE'
export const DEFAULT_MULTI_TAB = 'DEFAULT_MULTI_TAB'
export const DEFAULT_CRUMBS_STATE = 'DEFAULT_CRUMBS_STATE'
export const DICT_TYPE_TREE_DATA = 'DICT_TYPE_TREE_DATA'
export const NOTICE_RECEIVED = 'NOTICE_RECEIVED'
export const CONTENT_WIDTH_TYPE = {
  Fluid: 'Fluid',
  Fixed: 'Fixed'
}
LA22A07_Front/src/utils/applocation.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,11 @@
import store from '@/store'
/**
 * ç¼“存中的已选中应用
 *
 * @author yubaoshan
 * @date 2020/06/27 02:34
 */
export function sysApplication () {
  return store.getters.applocation
}
LA22A07_Front/src/utils/axios.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,35 @@
const VueAxios = {
  vm: {},
  // eslint-disable-next-line no-unused-vars
  install (Vue, instance) {
    if (this.installed) {
      return
    }
    this.installed = true
    if (!instance) {
      // eslint-disable-next-line no-console
      console.error('You have to install axios')
      return
    }
    Vue.axios = instance
    Object.defineProperties(Vue.prototype, {
      axios: {
        get: function get () {
          return instance
        }
      },
      $http: {
        get: function get () {
          return instance
        }
      }
    })
  }
}
export {
  VueAxios
}
LA22A07_Front/src/utils/device.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,33 @@
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 matchLablet = {
    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)', matchLablet)
    .register('screen and (min-width: 1200px)', matchDesktop)
}
LA22A07_Front/src/utils/domUtil.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
export const setDocumentTitle = function (title) {
  document.title = title
  const ua = navigator.userAgent
  // eslint-disable-next-line
  const regex = /\bMicroMessenger\/([\d\.]+)/
  if (regex.test(ua) && /ip(hone|od|ad)/i.test(ua)) {
    const i = document.createElement('iframe')
    i.src = '/favicon.ico'
    i.style.display = 'none'
    i.onload = function () {
      setTimeout(function () {
        i.remove()
      }, 9)
    }
    document.body.appendChild(i)
  }
}
export const domTitle = '青汽WMS'
LA22A07_Front/src/utils/filter.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,97 @@
import Vue from 'vue'
import { DICT_TYPE_TREE_DATA } from '@/store/mutation-types'
import moment from 'moment'
import 'moment/locale/zh-cn'
moment.locale('zh-cn')
Vue.filter('NumberFormat', function (value) {
  if (!value) {
    return '0'
  }
  const intPartFormat = value.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,') // åƒåˆ†ä½ç¬¦ 1,100,000.00
  return intPartFormat
})
Vue.filter('moment', function (dataStr, pattern = 'YYYY-MM-DD HH:mm:ss') {
  return moment(dataStr).format(pattern)
})
/**
 * é‡‘额格式化 ï¼Œä½¿ç”¨æ–¹æ³•:{{ val | Fmoney }}
 *
 * @author yubaoshan
 * @date 2020-9-15 15:02:20
 */
Vue.filter('Fmoney', function (val) {
  // eslint-disable-next-line no-useless-escape
  val = val.toString().replace(/\$|\,/g, '')
  if (isNaN(val)) {
    val = '0'
  }
  // eslint-disable-next-line eqeqeq
  const sign = (val == (val = Math.abs(val)))
  val = Math.floor(val * 100 + 0.50000000001)
  let cents = val % 100
  val = Math.floor(val / 100).toString()
  if (cents < 10) {
    cents = '0' + cents
  }
  // eslint-disable-next-line no-undef
  for (let i = 0; i < Math.floor((val.length - (1 + i)) / 3); i++) {
    val = val.substring(0, val.length - (4 * i + 3)) + ',' + val.substring(val.length - (4 * i + 3))
  }
  return (((sign) ? '' : '-') + val + '.' + cents)
})
/**
 * ç¿»è¯‘使用方法,直接返回翻译后的name {{ code | dictType(value) }}
 *
 * @author yubaoshan
 * @date 2020-9-15 15:02:20
 */
Vue.filter('dictType', function (code, value) {
  const dictTypeTree = Vue.ls.get(DICT_TYPE_TREE_DATA)
  if (dictTypeTree === undefined) {
    return '需重新登录'
  }
  // eslint-disable-next-line eqeqeq
  const tree = dictTypeTree.filter(item => item.code == code)[0].children
  if (tree === undefined || tree.length === 0) {
    return '无此字典'
  }
  // eslint-disable-next-line eqeqeq
  const values = tree.filter(item => item.code == value)
  if (values.length === undefined || values.length === 0) {
    return '无此字典'
  }
  return values[0].name
})
/**
 * èŽ·å–æŸä¸ªcode下字典的列表,多用于字典下拉框,使用方法:{{ code | dictData }}
 *
 * @author yubaoshan
 * @date 2020-9-19 22:40:22
 */
Vue.filter('dictData', function (code) {
  const dictTypeTree = Vue.ls.get(DICT_TYPE_TREE_DATA)
  if (dictTypeTree === undefined) {
    return []
  }
  // eslint-disable-next-line eqeqeq
  const tree = dictTypeTree.filter(item => item.code == code)[0].children
  if (tree === undefined) {
    return []
  }
  return tree
})
/**
 * èŽ·å–æ‰€æœ‰å­—å…¸æ•°ç»„
 *
 * @author yubaoshan
 * @date 2021-2-8 01:13
 */
Vue.filter('dictDataAll', function () {
  return Vue.ls.get(DICT_TYPE_TREE_DATA)
})
LA22A07_Front/src/utils/helper/permission.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,51 @@
export const PERMISSION_ENUM = {
  'add': { key: 'add', label: '新增' },
  'delete': { key: 'delete', label: '删除' },
  'edit': { key: 'edit', label: '修改' },
  'query': { key: 'query', label: '查询' },
  'get': { key: 'get', label: '详情' },
  'enable': { key: 'enable', label: '启用' },
  'disable': { key: 'disable', label: '禁用' },
  'import': { key: 'import', label: '导入' },
  'export': { key: 'export', label: '导出' }
}
function plugin (Vue) {
  if (plugin.installed) {
    return
  }
  !Vue.prototype.$auth && Object.defineProperties(Vue.prototype, {
    $auth: {
      get () {
        const _this = this
        return (permissions) => {
          const [permission, action] = permissions.split('.')
          const permissionList = _this.$store.getters.roles.permissions
          return permissionList.find((val) => {
            return val.permissionId === permission
          }).actionList.findIndex((val) => {
            return val === action
          }) > -1
        }
      }
    }
  })
  !Vue.prototype.$enum && Object.defineProperties(Vue.prototype, {
    $enum: {
      get () {
        // const _this = this;
        return (val) => {
          let result = PERMISSION_ENUM
          val && val.split('.').forEach(v => {
            result = result && result[v] || null
          })
          return result
        }
      }
    }
  })
}
export default plugin
LA22A07_Front/src/utils/messagesend.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,31 @@
import Vue from 'vue'
// signalR å®¢æˆ·ç«¯è°ƒç”¨
// æœåŠ¡å™¨ç«¯å‘é€æ¶ˆæ¯
// ç»™æŸä¸€ä¸ªä¸ªäºº
export function messagesendtosomeone (parameter) {
  Vue.socket.invoke('ClientsSendMessage', { userId: parameter.userId, title: parameter.title, message: parameter.message, messagetype: parameter.messagetype })
  .then(response => {
  })
}
// ç»™æ‰€æœ‰äºº
export function messagesendtoAll (parameter) {
  Vue.socket.invoke('ClientsSendMessagetoAll', { title: parameter.title, message: parameter.message, messagetype: parameter.messagetype })
  .then(response => {
  })
}
// ç»™æŸäº›äºº
export function messagesendtouserList (parameter) {
  Vue.socket.invoke('ClientsSendMessagetoUsers', { userId: parameter.userList, title: parameter.title, message: parameter.message, messagetype: parameter.messagetype })
  .then(response => {
  })
}
// é™¤äº†å‘送人 å‘送给剩下的人
export function messagesendtoexsomeone (parameter) {
  Vue.socket.invoke('ClientsSendMessagetoOther', { userIds: parameter.userIds, title: parameter.title, message: parameter.message, messagetype: parameter.messagetype })
  .then(response => {
  })
}
LA22A07_Front/src/utils/mixin.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,85 @@
/*
 * @Author: your name
 * @Date: 2021-05-18 23:01:55
 * @LastEditTime: 2021-05-19 00:49:11
 * @LastEditors: your name
 * @Description: In User Settings Edit
 * @FilePath: \frontend\src\utils\mixin.js
 */
// import Vue from 'vue'
import { deviceEnquire, DEVICE_TYPE } from '@/utils/device'
import { mapState } from 'vuex'
// const mixinsComputed = Vue.config.optionMergeStrategies.computed
// const mixinsMethods = Vue.config.optionMergeStrategies.methods
const mixin = {
  computed: {
    ...mapState({
      layoutMode: state => state.app.layout,
      navTheme: state => state.app.theme,
      primaryColor: state => state.app.color,
      colorWeak: state => state.app.weak,
      fixedHeader: state => state.app.fixedHeader,
      fixSiderbar: state => state.app.fixSiderbar,
      fixSidebar: state => state.app.fixSiderbar,
      contentWidth: state => state.app.contentWidth,
      autoHideHeader: state => state.app.autoHideHeader,
      sidebarOpened: state => state.app.sidebar,
      multiTab: state => state.app.multiTab,
      crumbsState: state => state.app.crumbsState
    })
  },
  methods: {
    isTopMenu () {
      return this.layoutMode === 'topmenu'
    },
    isSideMenu () {
      return !this.isTopMenu()
    }
  }
}
const mixinDevice = {
  computed: {
    ...mapState({
      device: state => state.app.device
    })
  },
  methods: {
    isMobile () {
      return this.device === DEVICE_TYPE.MOBILE
    },
    isDesktop () {
      return this.device === DEVICE_TYPE.DESKTOP
    },
    isTablet () {
      return this.device === DEVICE_TYPE.TABLET
    }
  }
}
const AppDeviceEnquire = {
  mounted () {
    const { $store } = this
    deviceEnquire(deviceType => {
      switch (deviceType) {
        case DEVICE_TYPE.DESKTOP:
          $store.commit('TOGGLE_DEVICE', 'desktop')
          $store.dispatch('setSidebar', true)
          break
        case DEVICE_TYPE.TABLET:
          $store.commit('TOGGLE_DEVICE', 'tablet')
          $store.dispatch('setSidebar', false)
          break
        case DEVICE_TYPE.MOBILE:
        default:
          $store.commit('TOGGLE_DEVICE', 'mobile')
          $store.dispatch('setSidebar', true)
          break
      }
    })
  }
}
export { mixin, AppDeviceEnquire, mixinDevice }
LA22A07_Front/src/utils/permissions.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,27 @@
import store from '@/store'
export function actionToObject (json) {
  try {
    return JSON.parse(json)
  } catch (e) {
  }
  return []
}
/**
 * æŽ§åˆ¶æŒ‰é’®æ˜¯å¦æ˜¾ç¤º
 *
 * @author yubaoshan
 * @date 2020/06/27 02:34
 */
export function hasBtnPermission (permission) {
  const myBtns = store.getters.buttons
  const allBtns = store.getters.allButtons
  const admintype = store.getters.admintype
  // eslint-disable-next-line eqeqeq
  if (admintype == '1') {
     return true
  }
  // æ‰€æœ‰ç³»ç»ŸæŒ‰é’®ä¸­ä¸å­˜åœ¨ï¼Œåˆ™ä¸é™åˆ¶
  return allBtns.indexOf(permission) === -1 || myBtns.indexOf(permission) > -1
}
LA22A07_Front/src/utils/request.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,134 @@
import Vue from 'vue'
import axios from 'axios'
import store from '@/store'
// import router from './router'
import { message, Modal, notification } from 'ant-design-vue' /// es/notification
import { VueAxios } from './axios'
import { ACCESS_TOKEN } from '@/store/mutation-types'
// åˆ›å»º axios å®žä¾‹
const service = axios.create({
  baseURL: 'http://10.103.9.5:7788/api', // api base_url
  timeout: 6000 // è¯·æ±‚è¶…æ—¶æ—¶é—´
})
const err = error => {
  if (error.response) {
    const data = error.response.data
    const token = Vue.ls.get(ACCESS_TOKEN)
    if (error.response.status === 403) {
      notification.error({
        message: 'Forbidden',
        description: data.message
      })
    }
    if (error.response.status === 500) {
      if (data.message && data.message.length > 0) {
        message.error(data.message)
      }
    }
    if (error.response.status === 401 && !(data.result && data.result.isLogin)) {
      notification.error({
        message: 'Unauthorized',
        description: 'Authorization verification failed'
      })
      if (token) {
        store.dispatch('Logout').then(() => {
          setTimeout(() => {
            window.location.reload()
          }, 1500)
        })
      }
    }
  }
  return Promise.reject(error)
}
// request interceptor
service.interceptors.request.use(config => {
  const token = Vue.ls.get(ACCESS_TOKEN)
  const refreshToken = Vue.ls.get('X-Access-Token')
  if (token) {
    config.headers['Authorization'] = 'Bearer ' + token
  }
  if (refreshToken) {
    config.headers['X-Authorization'] = 'Bearer ' + refreshToken
  }
  return config
}, err)
const _requestErrAlert = function(msg,callback,oktext='确认') {
  Modal.error({
    title: '系统提示:',
    content: msg,
    keyboard: false,
    okText: oktext,
    onOk: () => {
      callback && callback()
    }
  })
}
const requerstErrMsg = function(msg){
}
/**
 * response interceptor
 * æ‰€æœ‰è¯·æ±‚统一返回
 */
service.interceptors.response.use(response => {
  // LocalStorage å­˜å‚¨çš„ token å’Œ refreshToken,不设定过期时间,由服务端统一处理
  if (response.headers['access-token'] && response.headers['access-token'] !== 'invalid_token') {
    Vue.ls.set(ACCESS_TOKEN, response.headers['access-token'] /*, 7 * 24 * 60 * 60 * 1000 */)
    store.commit('SET_TOKEN', response.headers['access-token'])
  }
  if (response.headers['x-access-token']) {
    Vue.ls.set('X-Access-Token', response.headers['x-access-token'] /*, 7 * 24 * 60 * 60 * 1000 */)
  }
  if (response.request.responseType === 'blob') {
    return response
  }
  if (response.status===200) {
    const resData = response.data
    const code = response.data.code
    if (resData.success && ((code && code === 200)||(response.data.repCode==='0000'))) {
      return resData
    } else if (!store.state.app.hasError && code === 401) {
      _requestErrAlert(resData.message,()=>{
        store.dispatch('SetHasError', false)
        window.location.reload()
      },'重新登录')
      // æŽˆæƒè¿‡æœŸï¼Œæ¸…理本地缓存的记录,不论 Modal.error çš„ onOk æ˜¯å¦ç¡®è®¤ï¼Œå…ˆæ¸…理
      // å¦åˆ™ä¼šåœ¨æ²¡æŒ‰ OK æ—¶ï¼Œåˆ·æ–°ç½‘页或者重新访问,都会弹出“未授权的提示框”
      // è¿™æ ·çš„调整后,TOKEN ä¸ºç©ºç›´æŽ¥é‡å®šå‘,SetHasError çš„设置和判断其实已经用不上
      Vue.ls.remove(ACCESS_TOKEN)
      Vue.ls.remove('X-Access-Token')
      store.dispatch('SetHasError', true)
      return resData
    } else {
      let msg = resData.message;
      if (!msg) msg = '网络错误,请稍后再尝试!';
      message.error(msg)
      console.log(response)
      return Promise.reject(response)
    }
  } else {
    message.error('网络错误,请稍后再尝试!')
    console.log(response)
    return Promise.reject(response)
  }
}, err)
const installer = {
  vm: {},
  install(Vue) {
    Vue.use(VueAxios, service)
  }
}
export { installer as VueAxios, service as axios }
LA22A07_Front/src/utils/routeConvert.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,30 @@
import cloneDeep from 'lodash.clonedeep'
export function convertRoutes (nodes) {
  if (!nodes) return null
  nodes = cloneDeep(nodes)
  let queue = Array.isArray(nodes) ? nodes.concat() : [nodes]
  while (queue.length) {
    const levelSize = queue.length
    for (let i = 0; i < levelSize; i++) {
      const node = queue.shift()
      if (!node.children || !node.children.length) continue
      node.children.forEach(child => {
        // è½¬åŒ–相对路径
        if (child.path[0] !== '/' && !child.path.startsWith('http')) {
          child.path = node.path.replace(/(\w*)[/]*$/, `$1/${child.path}`)
        }
      })
      queue = queue.concat(node.children)
    }
  }
  return nodes
}
LA22A07_Front/src/utils/socket.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,216 @@
import store from '@/store'
import { Modal, message } from 'ant-design-vue'
import * as SignalR from '@microsoft/signalr'
const EventEmitter = require('events')
const defaultOptions = {
  log: false
}
class SocketConnection extends EventEmitter {
  constructor(connection, options = {}) {
    super()
    this.connection = connection
    this.options = Object.assign(defaultOptions, options)
    this.listened = []
    this.toSend = []
    this.offline = false
    this.socket = undefined
  }
  /**
   * åŒä¸€ç§æ¶ˆæ¯åªå®šä¹‰ä¸€æ¬¡
   *
   * @param {string| symbol} event
   * @param {(...args: any[]) => void} listener
   * @memberof SocketConnection
   */
  one(event, listener) {
    if (this.listeners(event).length === 0) {
      this.on(event, listener)
    }
  }
  async _initialize() {
    if(this.socket == undefined){
        return;
    }
    try {
      await this.socket.start()
      this.emit('onstart')
      if (this.offline) {
        this.emit('onrestart')
      }
      this.offline = false
    } catch (error) {
      setTimeout(async () => {
        await this._initialize()
      }, 5000)
    }
  }
  async start(token) {
    // ç»„件重新加载时, å¦‚æžœ socket å­˜åœ¨, ä¸éœ€è¦æ–°å»º
    if (!this.socket) {
      this.socket = new SignalR.HubConnectionBuilder()
        .configureLogging(SignalR.LogLevel.Information)
        .withUrl(`/hubs/chathub`, {
          accessTokenFactory: () => token,
          skipNegotiation: true,
          transport: SignalR.HttpTransportType.WebSockets
        })
        .build()
      this.socket.onclose(async () => {
        this.offline = true
        this.emit('onclose')
        await this._initialize()
      })
      this.socket.on('ForceExist', () => {
        // å…³é—­è¿žæŽ¥
        this.socket.stop()
        // å¿…é¡»
        this.socket = undefined
        store
          .dispatch('Logout')
          .then(() => {
            Modal.success({
              title: '消息',
              content: '你已被强制下线',
              keyboard: false,
              onOk: () => {
                window.location.reload()
              }
            })
          })
          .catch(err => {
            message.error({
              title: '错误',
              description: err.message
            })
          })
      })
      this.socket.on('SingleLoginForceExist', () => {
        // å…³é—­è¿žæŽ¥
        this.socket.stop()
        store
          .dispatch('Logout')
          .then(() => {
            Modal.success({
              title: '消息',
              content: '您的账号已在其他地方登录,被强制下线',
              keyboard: false,
              onOk: () => {
                window.location.reload()
              }
            })
          })
          .catch(err => {
            message.error({
              title: '错误',
              description: err.message
            })
          })
      })
      await this._initialize()
    }
  }
  async authenticate(token) {
    await this.start(token)
  }
  listen(method) {
    if (this.offline) return
    if (this.listened.some(v => v === method)) return
    this.listened.push(method)
    this.one('onstart', () => {
      this.listened.forEach(method => {
        this.socket.on(method, data => {
          if (this.options.log) {
          }
          this.emit(method, data)
        })
      })
    })
  }
  send(methodName, ...args) {
    if (this.options.log) {
    }
    if (this.offline) return
    if (this.socket) {
      this.socket.send(methodName, ...args)
      return
    }
    this.one('onstart', () => this.socket.send(methodName, ...args))
  }
  async invoke(methodName, ...args) {
    if (this.options.log) {
    }
    if (this.offline) return false
    if (this.socket) {
      return this.socket.invoke(methodName, ...args)
    }
    // eslint-disable-next-line no-async-promise-executor
    return new Promise(async resolve => this.one('onstart', () => resolve(this.socket.invoke(methodName, ...args))))
  }
}
if (!SignalR) {
  throw new Error('[Vue-SignalR] Cannot locate signalr-client')
}
function install(Vue, connection) {
  if (!connection) {
    throw new Error('[Vue-SignalR] Cannot locate connection')
  }
  const Socket = new SocketConnection(connection)
  Vue.socket = Socket
  Object.defineProperties(Vue.prototype, {
    $socket: {
      get() {
        return Socket
      }
    }
  })
  Vue.mixin({
    created() {
      if (this.$options.sockets) {
        const methods = Object.getOwnPropertyNames(this.$options.sockets)
        methods.forEach(method => {
          Socket.listen(method)
          Socket.one(method, data => this.$options.sockets[method].call(this, data))
        })
      }
      if (this.$options.subscribe) {
        Socket.one('authenticated', () => {
          this.$options.subscribe.forEach(channel => {
            Socket.invoke('join', channel)
          })
        })
      }
    }
  })
}
export default install
LA22A07_Front/src/utils/util.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,88 @@
export function dateFormat(dateString,fmt) {
    let date = new Date(dateString);
        let ret;
        const opt = {
            "Y+": date.getFullYear().toString(), // å¹´
            "m+": (date.getMonth() + 1).toString(), // æœˆ
            "d+": date.getDate().toString(), // æ—¥
            "H+": date.getHours().toString(), // æ—¶
            "M+": date.getMinutes().toString(), // åˆ†
            "S+": date.getSeconds().toString() // ç§’
            // æœ‰å…¶ä»–格式化字符需求可以继续添加,必须转化成字符串
        };
        for (let k in opt) {
            ret = new RegExp("(" + k + ")").exec(fmt);
            if (ret) {
                fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")))
            };
        };
        return fmt;
}
export function timeFix () {
  const time = new Date()
  const hour = time.getHours()
  return hour < 9 ? '早上好' : hour <= 11 ? '上午好' : hour <= 13 ? '中午好' : hour < 20 ? '下午好' : '晚上好'
}
export function welcome () {
  const arr = ['休息一会儿吧', '准备吃什么呢?', '要不要打一把 LOL', '我猜你可能累了']
  const index = Math.floor(Math.random() * arr.length)
  return arr[index]
}
/**
 * è§¦å‘ window.resize
 */
export function triggerWindowResizeEvent () {
  const event = document.createEvent('HTMLEvents')
  event.initEvent('resize', true, true)
  event.eventType = 'message'
  window.dispatchEvent(event)
}
export function handleScrollHeader (callback) {
  let timer = 0
  let beforeScrollTop = window.pageYOffset
  callback = callback || function () {}
  window.addEventListener(
    'scroll',
    event => {
      clearTimeout(timer)
      timer = setTimeout(() => {
        let direction = 'up'
        const afterScrollTop = window.pageYOffset
        const delta = afterScrollTop - beforeScrollTop
        if (delta === 0) {
          return false
        }
        direction = delta > 0 ? 'down' : 'up'
        callback(direction)
        beforeScrollTop = afterScrollTop
      }, 50)
    },
    false
  )
}
export function isIE () {
  const bw = window.navigator.userAgent
  const compare = (s) => bw.indexOf(s) >= 0
  const ie11 = (() => 'ActiveXObject' in window)()
  return compare('MSIE') || ie11
}
/**
 * Remove loading animate
 * @param id parent element id or class
 * @param timeout
 */
export function removeLoadingAnimate (id = '', timeout = 1500) {
  if (id === '') {
    return
  }
  setTimeout(() => {
    document.body.removeChild(document.getElementById(id))
  }, timeout)
}
LA22A07_Front/src/utils/utils.less
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,50 @@
.textOverflow() {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  word-break: break-all;
}
.textOverflowMulti(@line: 3, @bg: #fff) {
  position: relative;
  max-height: @line * 1.5em;
  margin-right: -1em;
  padding-right: 1em;
  overflow: hidden;
  line-height: 1.5em;
  text-align: justify;
  &::before {
    position: absolute;
    right: 14px;
    bottom: 0;
    padding: 0 1px;
    background: @bg;
    content: '...';
  }
  &::after {
    position: absolute;
    right: 14px;
    width: 1em;
    height: 1em;
    margin-top: 0.2em;
    background: white;
    content: '';
  }
}
// mixins for clearfix
// ------------------------
.clearfix() {
  zoom: 1;
  &::before,
  &::after {
    display: table;
    content: ' ';
  }
  &::after {
    clear: both;
    height: 0;
    font-size: 0;
    visibility: hidden;
  }
}
LA22A07_Front/src/views/404.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
<template>
  <div>
    404 page
  </div>
</template>
<script>
export default {
  name: '404'
}
</script>
<style scoped>
</style>
LA22A07_Front/src/views/Home.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,215 @@
<template>
  <div class="home">
    <div class="banner">
      <img alt="Vue logo" style="width: 64px; height: 64px" src="../assets/logo.png">
      <h3 style="margin-top: 1rem">Welcome to Your Vue.js App</h3>
    </div>
    <br/>
    <h2># Trend ç»„ä»¶ </h2>
    <a-divider> æ­£å¸¸ </a-divider>
    <a-card>
      <trend flag="up" style="margin-right: 16px;">
        <span slot="term">工资</span>
        5%
      </trend>
      <trend flag="up" style="margin-right: 16px;">
        <span slot="term">工作量</span>
        50%
      </trend>
      <trend flag="down">
        <span slot="term">身体状态</span>
        50%
      </trend>
    </a-card>
    <a-divider> é¢œè‰²åè½¬ </a-divider>
    <a-card style="margin-bottom: 3rem">
      <trend flag="up" :reverse-color="true" style="margin-right: 16px;">
        <span slot="term">工资</span>
        5%
      </trend>
      <trend flag="down" :reverse-color="true" style="margin-right: 16px;">
        <span slot="term">工作量</span>
        50%
      </trend>
    </a-card>
    <h2># AvatarList ç»„ä»¶ </h2>
    <a-divider> AvatarList </a-divider>
    <a-card style="margin-bottom: 3rem">
      <avatar-list :max-length="3">
        <avatar-list-item tips="Jake" src="https://gw.alipayobjects.com/zos/rmsportal/zOsKZmFRdUtvpqCImOVY.png" />
        <avatar-list-item tips="Andy" src="https://gw.alipayobjects.com/zos/rmsportal/sfjbOqnsXXJgNCjCzDBL.png" />
        <avatar-list-item tips="Niko" src="https://gw.alipayobjects.com/zos/rmsportal/kZzEzemZyKLKFsojXItE.png" />
        <avatar-list-item tips="Niko" src="https://gw.alipayobjects.com/zos/rmsportal/kZzEzemZyKLKFsojXItE.png" />
        <avatar-list-item tips="Niko" src="https://gw.alipayobjects.com/zos/rmsportal/kZzEzemZyKLKFsojXItE.png" />
        <avatar-list-item tips="Niko" src="https://gw.alipayobjects.com/zos/rmsportal/kZzEzemZyKLKFsojXItE.png" />
        <avatar-list-item tips="Niko" src="https://gw.alipayobjects.com/zos/rmsportal/kZzEzemZyKLKFsojXItE.png" />
      </avatar-list>
      <a-divider type="vertical" style="margin: 0 16px" />
      <avatar-list size="mini">
        <avatar-list-item tips="Jake" src="https://gw.alipayobjects.com/zos/rmsportal/zOsKZmFRdUtvpqCImOVY.png" />
        <avatar-list-item tips="Andy" src="https://gw.alipayobjects.com/zos/rmsportal/sfjbOqnsXXJgNCjCzDBL.png" />
        <avatar-list-item tips="Niko" src="https://gw.alipayobjects.com/zos/rmsportal/kZzEzemZyKLKFsojXItE.png" />
      </avatar-list>
    </a-card>
    <h2># CountDown ç»„ä»¶ </h2>
    <a-divider> CountDown </a-divider>
    <a-card style="margin-bottom: 3rem">
      <count-down
        style="font-size: 2rem"
        :target="new Date().getTime() + 3000000"
        :on-end="onEndHandle">
      </count-down>
      <a-divider type="vertical" style="margin: 0 16px" />
      <count-down
        style="font-size: 2rem"
        :target="new Date().getTime() + 10000"
        :on-end="onEndHandle2">
      </count-down>
    </a-card>
    <h2># Ellipsis ç»„ä»¶ </h2>
    <a-divider> Ellipsis </a-divider>
    <a-card style="margin-bottom: 3rem">
      <ellipsis :length="100" tooltip>
        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.
      </ellipsis>
    </a-card>
    <h2># NumberInfo ç»„ä»¶ </h2>
    <a-divider> NumberInfo </a-divider>
    <a-card style="margin-bottom: 3rem">
      <number-info
        :sub-title="() => { return 'Visits this week' }"
        :total="12321"
        status="up"
        :sub-total="17.1"></number-info>
    </a-card>
    <h2># TagSelect ç»„ä»¶ </h2>
    <a-divider> TagSelect </a-divider>
    <a-card style="margin-bottom: 3rem">
      <tag-select>
        <tag-select-option value="cat1">类目1</tag-select-option>
        <tag-select-option value="cat2">类目2</tag-select-option>
        <tag-select-option value="cat3">类目3</tag-select-option>
        <tag-select-option value="cat4">类目4</tag-select-option>
        <tag-select-option value="cat5">类目5</tag-select-option>
        <tag-select-option value="cat6">类目6</tag-select-option>
        <tag-select-option value="cat7">类目7</tag-select-option>
      </tag-select>
    </a-card>
    <h2># DescriptionList ç»„ä»¶ </h2>
    <a-divider> DescriptionList </a-divider>
    <a-card style="margin-bottom: 3rem">
      <description-list title="组名称" size="small">
        <description-list-item term="负责人">林东东</description-list-item>
        <description-list-item term="角色码">1234567</description-list-item>
        <description-list-item term="所属部门">XX公司-YY部</description-list-item>
        <description-list-item term="过期时间">2018-08-08</description-list-item>
        <description-list-item term="描述">这段描述很长很长很长很长很长很长很长很长很长很长很长很长很长很长...</description-list-item>
      </description-list>
    </a-card>
    <a-divider> TagCloud </a-divider>
    <a-card style="margin-bottom: 3rem">
      <tag-cloud :tag-list="tagCloudData"></tag-cloud>
    </a-card>
  </div>
</template>
<script>
// @ is an alias to /src
import Trend from '@/components/Trend'
import AvatarList from '@/components/AvatarList'
import CountDown from '@/components/CountDown/CountDown'
import Ellipsis from '@/components/Ellipsis'
import NumberInfo from '@/components/NumberInfo'
import TagSelect from '@/components/TagSelect'
import { DescriptionList, TagCloud } from '@/components/'
const AvatarListItem = AvatarList.AvatarItem
const TagSelectOption = TagSelect.Option
const DescriptionListItem = DescriptionList.Item
export default {
  name: 'Home',
  components: {
    NumberInfo,
    Ellipsis,
    CountDown,
    Trend,
    AvatarList,
    AvatarListItem,
    TagSelect,
    TagSelectOption,
    TagCloud,
    DescriptionList,
    DescriptionListItem
  },
  data () {
    return {
      targetTime: new Date().getTime() + 3900000,
      tagCloudData: []
    }
  },
  created () {
    this.getTagCloudData()
  },
  methods: {
    onEndHandle () {
      this.$message.success('CountDown callback!!!')
    },
    onEndHandle2 () {
      this.$notification.open({
        message: 'Notification Title',
        description: 'This is the content of the notification. This is the content of the notification. This is the content of the notification.'
      })
    },
    getTagCloudData () {
      this.$http.get('/data/antv/tag-cloud').then(res => {
        this.tagCloudData = res.result
      })
    }
  }
}
</script>
<style scoped>
  .home {
    width: 900px;
    margin: 0 auto;
    padding: 25px 0;
  }
  .home > .banner {
    text-align: center;
    padding: 25px 0;
    margin: 25px 0;
  }
</style>
LA22A07_Front/src/views/gen/codeGenerate/addForm.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,381 @@
<template>
  <a-modal
    title="新增代码生成配置"
    :width="900"
    :visible="visible"
    :confirmLoading="confirmLoading"
    @ok="handleSubmit"
    @cancel="handleCancel">
    <a-spin :spinning="confirmLoading">
      <a-form :form="form">
         <a-row :gutter="24">
          <a-col :md="12" :sm="24">
            <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="生成库" has-feedback>
               <a-select
                style="width: 100%"
                placeholder="请选择数据库"
                v-decorator="['databaseName', {rules: [{ required: true, message: '请选择数据库!' }]}]">
                <a-select-option
                  v-for="(item,index) in databaseNameData"
                  :key="index"
                  :value="item.databaseName"
                  @click="databaseNameSele(item)">{{ item.databaseName }}</a-select-option>
              </a-select>
            </a-form-item>
          </a-col>
        </a-row>
        <a-row :gutter="24">
          <a-col :md="12" :sm="24">
            <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="生成表" has-feedback>
              <a-select
                style="width: 100%"
                placeholder="请选择数据库表"
                v-decorator="['tableName', {rules: [{ required: true, message: '请选择数据库表!' }]}]">
                <a-select-option
                  v-for="(item,index) in tableNameData"
                  :key="index"
                  :value="item.tableName"
                  @click="tableNameSele(item)">{{ item.tableName }}</a-select-option>
              </a-select>
            </a-form-item>
          </a-col>
          <a-col :md="12" :sm="24">
            <a-form-item label="业务名" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
              <a-input
                placeholder="请输入业务名"
                v-decorator="['busName', {rules: [{required: true, message: '请输入业务名!'}]}]" />
            </a-form-item>
          </a-col>
          <!--<a-col :md="12" :sm="24">
            <a-form-item
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
              label="移除前缀"
            >
              <a-radio-group v-decorator="['tablePrefix',{rules: [{ required: true, message: '请选择是否移除前缀!' }]}]" >
                <a-radio v-for="(item,index) in tablePrefixData" :key="index" :value="item.code" @click="tablePrefixRadio(item.code)">{{ item.name }}</a-radio>
              </a-radio-group>
            </a-form-item>
          </a-col> -->
        </a-row>
        <a-row :gutter="24">
          <a-col :md="12" :sm="24">
            <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="菜单分类" has-feedback>
              <a-select
                style="width: 100%"
                placeholder="请选择应用分类"
                v-decorator="['menuApplication', {rules: [{ required: true, message: '请选择应用分类!' }]}]">
                <a-select-option
                  v-for="(item,index) in appData"
                  :key="index"
                  :value="item.code"
                  @click="changeApplication(item.code)">{{ item.name }}</a-select-option>
              </a-select>
            </a-form-item>
          </a-col>
          <a-col :md="12" :sm="24">
            <div>
              <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="父级菜单" has-feedback>
                <a-tree-select
                  v-decorator="['menuPid', {rules: [{ required: true, message: '请选择父级菜单!' }]}]"
                  style="width: 100%"
                  :dropdownStyle="{ maxHeight: '300px', overflow: 'auto' }"
                  :treeData="menuTreeData"
                  placeholder="请选择父级菜单"
                  treeDefaultExpandAll>
                  <span slot="title" slot-scope="{ id }">{{ id }}
                  </span>
                </a-tree-select>
              </a-form-item>
            </div>
          </a-col>
        </a-row>
        <a-row :gutter="24">
          <a-col :md="12" :sm="24">
            <a-form-item label="命名空间" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
              <a-input
                placeholder="请输入代码包名"
                v-decorator="['nameSpace', {rules: [{required: true, message: '请输入命名空间!'}]}]" />
            </a-form-item>
          </a-col>
          <a-col :md="12" :sm="24">
            <a-form-item label="作者姓名" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
              <a-input
                placeholder="请输入作者姓名"
                v-decorator="['authorName', {rules: [{required: true, message: '请输入作者姓名!'}]}]" />
            </a-form-item>
          </a-col>
        </a-row>
        <!--<a-row :gutter="24">
          <a-col :md="12" :sm="24">
            <a-form-item
              label="功能名"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
              has-feedback
            >
              <a-input placeholder="请输入功能名" v-decorator="['tableComment', {rules: [{required: true, message: '请输入功能名!'}]}]" />
            </a-form-item>
          </a-col>
          <a-col :md="12" :sm="24">
            <a-form-item
              label="类名"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
              has-feedback
            >
              <a-input placeholder="请输入类名" v-decorator="['className', {rules: [{required: true, message: '请输入类名!'}]}]" />
            </a-form-item>
          </a-col>
        </a-row> -->
        <a-row :gutter="24">
          <a-col :md="12" :sm="24">
            <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="生成方式">
              <a-radio-group v-decorator="['generateType',{rules: [{ required: true, message: '请选择生成方式!' }]}]">
                <a-radio
                  v-for="(item,index) in generateTypeData"
                  :key="index"
                  :value="item.code"
                  @click="generateTypeRadio(item.code)">{{ item.name }}</a-radio>
              </a-radio-group>
            </a-form-item>
          </a-col>
        </a-row>
      </a-form>
    </a-spin>
  </a-modal>
</template>
<script>
  import {
    getAppList
  } from '@/api/modular/system/appManage'
  import {
    getMenuTree
  } from '@/api/modular/system/menuManage'
  import {
    codeGenerateDatabaseList,
    codeGenerateInformationList,
    codeGenerateAdd
  } from '@/api/modular/gen/codeGenerateManage'
  export default {
    data() {
      return {
        labelCol: {
          xs: {
            span: 24
          },
          sm: {
            span: 5
          }
        },
        wrapperCol: {
          xs: {
            span: 24
          },
          sm: {
            span: 15
          }
        },
        visible: false,
        appData: [],
        menuTreeData: [],
        databaseNameData:[],
        tableNameData: [],
        // tablePrefixData: [],
        generateTypeData: [],
        confirmLoading: false,
        // tablePrefixValue: 'N',
        databaseNameValue:'',
        tableNameValue: '',
        form: this.$form.createForm(this)
      }
    },
    methods: {
      // åˆå§‹åŒ–方法
      add() {
        this.visible = true
        this.codeGenerateDatabaseList()
       // å¤šåº“默认需要选择后调用
       // this.codeGenerateInformationList()
        this.dataTypeItem()
        this.selectedByDefault()
        // èŽ·å–ç³»ç»Ÿåº”ç”¨åˆ—è¡¨
        this.getSysApplist()
      },
      /**
       * é»˜è®¤é€‰ä¸­é¡¹
       */
      selectedByDefault() {
        this.form.getFieldDecorator('nameSpace', {
          initialValue: 'iWare.Wms.Application'
        })
        // this.form.getFieldDecorator('tablePrefix', { valuePropName: 'checked', initialValue: 'N' })
        this.form.getFieldDecorator('generateType', {
          valuePropName: 'checked',
          initialValue: '2'
        })
        // åˆå§‹åŒ–菜单默认选择
        this.form.getFieldDecorator('menuApplication', {
          initialValue: 'busiapp'
        })
        this.changeApplication('busiapp')
      },
       /**
       * èŽ·å¾—æ‰€æœ‰æ•°æ®åº“
       */
      codeGenerateDatabaseList() {
        codeGenerateDatabaseList().then((res) => {
          this.databaseNameData = res.data
        })
      },
      /**
       * èŽ·å¾—æ‰€æœ‰æ•°æ®åº“çš„è¡¨
       */
      codeGenerateInformationList(parameter) {
        codeGenerateInformationList(parameter).then((res) => {
          this.tableNameData = res.data
        })
      },
      /**
       * èŽ·å¾—èœå•æ‰€å±žåº”ç”¨
       */
      getSysApplist() {
        return getAppList().then((res) => {
          if (res.success) {
            this.appData = res.data
          } else {
            this.$message.warning(res.message)
          }
        })
      },
      /**
       * èŽ·å–å­—å…¸æ•°æ®
       */
      dataTypeItem() {
        this.tablePrefixData = this.$options.filters['dictData']('yes_or_no')
        this.generateTypeData = this.$options.filters['dictData']('code_gen_create_type')
        this.generateTypeData.splice(0, 1) // é»˜è®¤åŽ»æŽ‰ä»ŽåŽ‹ç¼©åŒ…ä¸‹è½½
      },
      /**
       * æäº¤è¡¨å•
       */
      handleSubmit() {
        const {
          form: {
            validateFields
          }
        } = this
        validateFields((errors, values) => {
          if (!errors) {
            this.confirmLoading = true
            codeGenerateAdd(values).then((res) => {
              if (res.success) {
                this.$message.success('新增成功')
                this.$emit('ok', values)
                this.handleCancel()
              } else {
                this.$message.error('新增失败:' + res.message)
              }
            }).finally((res) => {
              this.confirmLoading = false
            })
          }
        })
      },
      handleCancel() {
        this.form.resetFields()
        this.visible = false
        // æ¸…空他们三个
        this.form.getFieldDecorator('className', {
          initialValue: ''
        })
        this.form.getFieldDecorator('busName', {
          initialValue: ''
        })
        // this.form.getFieldDecorator('tableComment', { initialValue: '' })
      },
       /**
       * é€‰æ‹©æ•°æ®åº“
       */
      databaseNameSele(item) {
        this.databaseNameValue = item.databaseName
        // this.form.getFieldDecorator('tableComment', { initialValue: item.tableComment })
        //this.form.getFieldDecorator('busName', {
        //  initialValue: item.databaseComment
        //})
        // this.settingDefaultValue()
        // this.form.getFieldDecorator('tableName', {
        //  //X initialValue: ''
        //  //X defaultValue:''
        //  //X value:''
        // }) è¿™ä¸ªæ–¹æ³•不起作用
        this.form.setFieldsValue({'tableName':''}); //这个OK
        this.codeGenerateInformationList({ dbContextLocatorName:this.databaseNameValue});
      },
      /**
       * é€‰æ‹©æ•°æ®åº“列表
       */
      tableNameSele(item) {
        this.tableNameValue = item.tableName
        // this.form.getFieldDecorator('tableComment', { initialValue: item.tableComment })
        this.form.getFieldDecorator('busName', {
          initialValue: item.tableComment
        })
        this.settingDefaultValue()
      },
      /**
       * èœå•所属应用change事件
       */
      changeApplication(value) {
        getMenuTree({
          'application': value
        }).then((res) => {
          if (res.success) {
            this.menuTreeData = [{
              'id': '-1',
              'parentId': '0',
              'title': '顶级',
              'value': '0',
              'pid': '0',
              'children': res.data
            }]
            this.form.getFieldDecorator('menuPid', {
              initialValue: '0'
            })
          } else {
            this.$message.warning(res.message)
          }
        })
      },
      // /**
      //  * é€‰æ‹©æ˜¯å¦ç§»é™¤å‰ç¼€è§¦å‘
      //  */
      // tablePrefixRadio (tablePrefixType) {
      //   this.tablePrefixValue = tablePrefixType
      //   this.settingDefaultValue()
      // },
      /**
       * è®¾ç½®é»˜è®¤å€¼
       */
      settingDefaultValue() {
        // const tableName = this.classNameToHump()
        // this.form.getFieldDecorator('className', { initialValue: tableName })
        // this.form.getFieldDecorator('busName', { initialValue: tableName + "业务"})
      },
      /**
       * é€‰æ‹©ç”Ÿæˆæ–¹å¼
       */
      generateTypeRadio(generateType) {
        // if (generateType === '1') {
        //   this.packageNameShow = true
        // } else {
        //   this.packageNameShow = false
        //   this.form.setFieldsValue({ nameSpace: 'iWare.Wms.Application' })
        // }
      }
    }
  }
</script>
LA22A07_Front/src/views/gen/codeGenerate/assembly.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
<template>
</template>
<script>
import { STable, Ellipsis } from '@/components'
export default {
    components: {},
    data(){
        return {}
    },
    methods:{
    }
}
</script>
<style lang="less">
</style>
LA22A07_Front/src/views/gen/codeGenerate/editForm.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,385 @@
<template>
  <a-modal
    title="编辑代码生成配置"
    :width="900"
    :visible="visible"
    :confirmLoading="confirmLoading"
    @ok="handleSubmit"
    @cancel="handleCancel">
    <a-spin :spinning="confirmLoading">
      <a-form :form="form">
        <a-form-item v-show="false">
          <a-input v-decorator="['id']" />
        </a-form-item>
         <a-row :gutter="24">
          <a-col :md="12" :sm="24">
            <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="生成库" has-feedback>
              <a-select
                style="width: 100%"
                placeholder="请选择数据库"
                v-decorator="['databaseName', {rules: [{ required: true, message: '请选择数据库!' }]}]">
                <a-select-option
                  v-for="(item,index) in databaseNameData"
                  :key="index"
                  :value="item.databaseName"
                  @click="databaseNameSele(item)">{{ item.databaseName }}</a-select-option>
              </a-select>
            </a-form-item>
          </a-col>
        </a-row>
        <a-row :gutter="24">
          <a-col :md="12" :sm="24">
            <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="生成表" has-feedback>
              <a-select
                style="width: 100%"
                placeholder="请选择数据库表"
                v-decorator="['tableName', {rules: [{ required: true, message: '请选择数据库表!' }]}]">
                <a-select-option
                  v-for="(item,index) in tableNameData"
                  :key="index"
                  :value="item.tableName"
                  @click="tableNameSele(item)">{{ item.tableName }}</a-select-option>
              </a-select>
            </a-form-item>
          </a-col>
          <a-col :md="12" :sm="24">
            <a-form-item label="业务名" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
              <a-input
                placeholder="请输入业务名"
                v-decorator="['busName', {rules: [{required: true, message: '请输入业务名!'}]}]" />
            </a-form-item>
          </a-col>
          <!--          <a-col :md="12" :sm="24">
            <a-form-item
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
              label="移除前缀"
            >
              <a-radio-group v-decorator="['tablePrefix',{rules: [{ required: true, message: '请选择是否移除前缀!' }]}]" >
                <a-radio v-for="(item,index) in tablePrefixData" :key="index" :value="item.code" @click="tablePrefixRadio(item.code)">{{ item.name }}</a-radio>
              </a-radio-group>
            </a-form-item>
          </a-col> -->
        </a-row>
        <a-row :gutter="24">
          <a-col :md="12" :sm="24">
            <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="菜单分类" has-feedback>
              <a-select
                style="width: 100%"
                placeholder="请选择应用分类"
                v-decorator="['menuApplication', {rules: [{ required: true, message: '请选择应用分类!' }]}]">
                <a-select-option
                  v-for="(item,index) in appData"
                  :key="index"
                  :value="item.code"
                  @click="changeApplication(item.code)">{{ item.name }}</a-select-option>
              </a-select>
            </a-form-item>
          </a-col>
          <a-col :md="12" :sm="24">
            <div>
              <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="父级菜单" has-feedback>
                <a-tree-select
                  v-decorator="['menuPid', {rules: [{ required: true, message: '请选择父级菜单!' }]}]"
                  style="width: 100%"
                  :dropdownStyle="{ maxHeight: '300px', overflow: 'auto' }"
                  :treeData="menuTreeData"
                  placeholder="请选择父级菜单"
                  treeDefaultExpandAll>
                  <span slot="title" slot-scope="{ id }">{{ id }}
                  </span>
                </a-tree-select>
              </a-form-item>
            </div>
          </a-col>
        </a-row>
        <!--        <a-row :gutter="24">
          <a-col :md="12" :sm="24">
            <a-form-item
              label="功能名"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
              has-feedback
            >
              <a-input placeholder="请输入功能名" v-decorator="['tableComment', {rules: [{required: true, message: '请输入功能名!'}]}]" />
            </a-form-item>
          </a-col>
          <a-col :md="12" :sm="24">
            <a-form-item
              label="类名"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
              has-feedback
            >
              <a-input placeholder="请输入类名" v-decorator="['className', {rules: [{required: true, message: '请输入类名!'}]}]" />
            </a-form-item>
          </a-col>
        </a-row> -->
        <a-row :gutter="24">
          <a-col :md="12" :sm="24">
            <a-form-item label="命名空间" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
              <a-input
                placeholder="请输入命名空间"
                v-decorator="['nameSpace', {rules: [{required: true, message: '请输入命名空间!'}]}]" />
            </a-form-item>
          </a-col>
          <a-col :md="12" :sm="24">
            <a-form-item label="作者姓名" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
              <a-input
                placeholder="请输入作者姓名"
                v-decorator="['authorName', {rules: [{required: true, message: '请输入作者姓名!'}]}]" />
            </a-form-item>
          </a-col>
        </a-row>
        <a-row :gutter="24">
          <a-col :md="12" :sm="24">
            <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="生成方式">
              <a-radio-group v-decorator="['generateType',{rules: [{ required: true, message: '请选择生成方式!' }]}]">
                <a-radio
                  v-for="(item,index) in generateTypeData"
                  :key="index"
                  :value="item.code"
                  @click="generateTypeRadio(item.code)">{{ item.name }}</a-radio>
              </a-radio-group>
            </a-form-item>
          </a-col>
        </a-row>
      </a-form>
    </a-spin>
  </a-modal>
</template>
<script>
  import {
    getAppList
  } from '@/api/modular/system/appManage'
  import {
    getMenuTree
  } from '@/api/modular/system/menuManage'
  import {
    codeGenerateDatabaseList,
    codeGenerateInformationList,
    codeGenerateEdit
  } from '@/api/modular/gen/codeGenerateManage'
  export default {
    data() {
      return {
        labelCol: {
          xs: {
            span: 24
          },
          sm: {
            span: 5
          }
        },
        wrapperCol: {
          xs: {
            span: 24
          },
          sm: {
            span: 15
          }
        },
        visible: false,
        databaseNameData:[],
        tableNameData: [],
        appData: [],
        menuTreeData: [],
        // tablePrefixData: [],
        generateTypeData: [],
        confirmLoading: false,
        // tablePrefixValue: 'N',
        databaseNameValue:'',
        tableNameValue: '',
        // packageNameShow: true,
        form: this.$form.createForm(this)
      }
    },
    methods: {
      // åˆå§‹åŒ–方法
      edit(record) {
        this.visible = true
        this.codeGenerateDatabaseList()
        this.codeGenerateInformationList()
        this.dataTypeItem()
        setTimeout(() => {
          this.form.setFieldsValue({
            id: record.id,
            databaseName:record.databaseName,
            tableName: record.tableName,
            // tablePrefix: record.tablePrefix,
            // tableComment: record.tableComment,
            // className: record.className,
            busName: record.busName,
            generateType: record.generateType,
            authorName: record.authorName,
            nameSpace: record.nameSpace,
            menuApplication: record.menuApplication,
            menuPid: record.menuPid
          })
        }, 100)
        this.databaseNameValue = record.databaseName
        this.tableNameValue = record.tableName
        // this.tablePrefixValue = record.tablePrefix
        // èŽ·å–ç³»ç»Ÿåº”ç”¨åˆ—è¡¨
        this.getSysApplist()
        this.changeApplication(record.menuApplication)
      },
      /**
       * èŽ·å¾—èœå•æ‰€å±žåº”ç”¨
       */
      getSysApplist() {
        return getAppList().then((res) => {
          if (res.success) {
            this.appData = res.data
          } else {
            this.$message.warning(res.message)
          }
        })
      },
        /**
       * èŽ·å¾—æ‰€æœ‰æ•°æ®åº“
       */
      codeGenerateDatabaseList() {
        codeGenerateDatabaseList().then((res) => {
          this.databaseNameData = res.data
        })
      },
      /**
       * èŽ·å¾—æ‰€æœ‰æ•°æ®åº“çš„è¡¨
       */
      codeGenerateInformationList(parameter) {
        codeGenerateInformationList(parameter).then((res) => {
          this.tableNameData = res.data
        })
      },
      /**
       * èŽ·å–å­—å…¸æ•°æ®
       */
      dataTypeItem() {
        this.tablePrefixData = this.$options.filters['dictData']('yes_or_no')
        this.generateTypeData = this.$options.filters['dictData']('code_gen_create_type')
        this.generateTypeData.splice(0, 1) // é»˜è®¤åŽ»æŽ‰ä»ŽåŽ‹ç¼©åŒ…ä¸‹è½½
      },
      /**
       * æäº¤è¡¨å•
       */
      handleSubmit() {
        const {
          form: {
            validateFields
          }
        } = this
        validateFields((errors, values) => {
          if (!errors) {
            this.confirmLoading = true
            codeGenerateEdit(values).then((res) => {
              if (res.success) {
                this.$message.success('编辑成功')
                this.$emit('ok', values)
                this.handleCancel()
              } else {
                this.$message.error('编辑失败' + res.message)
              }
            }).finally((res) => {
              this.confirmLoading = false
            })
          }
        })
      },
      handleCancel() {
        this.form.resetFields()
        this.visible = false
      },
        /**
       * é€‰æ‹©æ•°æ®åº“
       */
      databaseNameSele(item) {
        this.databaseNameValue = item.databaseName
        // this.form.getFieldDecorator('tableComment', { initialValue: item.tableComment })
        //this.form.getFieldDecorator('busName', {
        //  initialValue: item.databaseComment
        //})
        this.form.setFieldsValue({'tableName':''}); //这个OK
        this.codeGenerateInformationList({ dbContextLocatorName:this.databaseNameValue});
        //this.settingDefaultValue()
      },
      /**
       * é€‰æ‹©æ•°æ®åº“列表
       */
      tableNameSele(item) {
        this.tableNameValue = item.tableName
        this.form.setFieldsValue({
          className: item.tableComment
        })
        this.settingDefaultValue()
      },
      /**
       * èœå•所属应用change事件
       */
      changeApplication(value) {
        getMenuTree({
          'application': value
        }).then((res) => {
          if (res.success) {
            this.menuTreeData = [{
              'id': '-1',
              'parentId': '0',
              'title': '顶级',
              'value': '0',
              'pid': '0',
              'children': res.data
            }]
          } else {
            this.$message.warning(res.message)
          }
        })
      },
      // /**
      //  * é€‰æ‹©æ˜¯å¦ç§»é™¤å‰ç¼€è§¦å‘
      //  */
      // tablePrefixRadio (tablePrefixType) {
      //   this.tablePrefixValue = tablePrefixType
      //   this.settingDefaultValue()
      // },
      // /**
      //  * è®¾ç½®é»˜è®¤å€¼
      //  */
       settingDefaultValue () {
      //  const tableName = this.classNameToHump()
      //   this.form.setFieldsValue(
      //     {
      //       className: tableName,
      //       busName: tableName.toLowerCase()
      //     }
      //   )
       },
      // /**
      //  * è®¾ç½®ç±»åä¸ºæ•°æ®åº“表的驼峰命名
      //  */
      // classNameToHump () {
      //   const arr = this.tableNameValue.toLowerCase().split('_')
      //   if (this.tablePrefixValue === 'Y') {
      //     arr.splice(0, 1)
      //   }
      //   for (let i = 0; i < arr.length; i++) {
      //     // charAt()方法得到第一个字母,slice()得到第二个字母以后的字符串
      //     arr[i] = arr[i].charAt(0).toUpperCase() + arr[i].slice(1)
      //   }
      //   return arr.join('')
      // },
      /**
       * é€‰æ‹©ç”Ÿæˆæ–¹å¼
       */
      generateTypeRadio(generateType) {
        // if (generateType === '1') {
        //   this.packageNameShow = true
        // } else {
        //   this.packageNameShow = false
        //   this.form.setFieldsValue({ packageName: 'com.cn.xiaonuo' })
        // }
      }
    }
  }
</script>
在上述文件截断后对比
LA22A07_Front/src/views/gen/codeGenerate/fkModal.vue LA22A07_Front/src/views/gen/codeGenerate/index.vue LA22A07_Front/src/views/gen/codeGenerate/indexConfig.vue LA22A07_Front/src/views/gen/lowCode/addForm.vue LA22A07_Front/src/views/gen/lowCode/editForm.vue LA22A07_Front/src/views/gen/lowCode/index.vue LA22A07_Front/src/views/main/BindEntrance/index.vue LA22A07_Front/src/views/main/BindEntrance/inputLayout.vue LA22A07_Front/src/views/main/BindEntrance/searchBox.vue LA22A07_Front/src/views/main/ExWarehouse/handleForm.vue LA22A07_Front/src/views/main/ExWarehouse/index.vue LA22A07_Front/src/views/main/ExWarehouse/outForm.vue LA22A07_Front/src/views/main/LocationView/DetailDrawer.vue LA22A07_Front/src/views/main/LocationView/SearchForm.vue LA22A07_Front/src/views/main/LocationView/index.vue LA22A07_Front/src/views/main/README.md LA22A07_Front/src/views/main/SysTenant/addForm.vue LA22A07_Front/src/views/main/SysTenant/editForm.vue LA22A07_Front/src/views/main/SysTenant/index.vue LA22A07_Front/src/views/main/View_AccessDetails/addForm.vue LA22A07_Front/src/views/main/View_AccessDetails/editForm.vue LA22A07_Front/src/views/main/View_AccessDetails/index.vue LA22A07_Front/src/views/main/WareContainerVsMaterial/addForm.vue LA22A07_Front/src/views/main/WareContainerVsMaterial/editForm.vue LA22A07_Front/src/views/main/WareContainerVsMaterial/index.vue LA22A07_Front/src/views/main/WareDeviceWarning/addForm.vue LA22A07_Front/src/views/main/WareDeviceWarning/editForm.vue LA22A07_Front/src/views/main/WareDeviceWarning/index.vue LA22A07_Front/src/views/main/WareFlowRecord/addForm.vue LA22A07_Front/src/views/main/WareFlowRecord/editForm.vue LA22A07_Front/src/views/main/WareFlowRecord/index.vue LA22A07_Front/src/views/main/WareSite/addForm.vue LA22A07_Front/src/views/main/WareSite/editForm.vue LA22A07_Front/src/views/main/WareSite/index.vue LA22A07_Front/src/views/main/WareTaskBak/InfoModal.vue LA22A07_Front/src/views/main/WareTaskBak/addForm.vue LA22A07_Front/src/views/main/WareTaskBak/editForm.vue LA22A07_Front/src/views/main/WareTaskBak/index.vue LA22A07_Front/src/views/main/WmsArea/addForm.vue LA22A07_Front/src/views/main/WmsArea/editForm.vue LA22A07_Front/src/views/main/WmsArea/index.vue LA22A07_Front/src/views/main/WmsBindIn/index.vue LA22A07_Front/src/views/main/WmsContainer/addForm.vue LA22A07_Front/src/views/main/WmsContainer/editForm.vue LA22A07_Front/src/views/main/WmsContainer/index.vue LA22A07_Front/src/views/main/WmsContainerType/addForm.vue LA22A07_Front/src/views/main/WmsContainerType/editForm.vue LA22A07_Front/src/views/main/WmsContainerType/index.vue LA22A07_Front/src/views/main/WmsLocationType/addForm.vue LA22A07_Front/src/views/main/WmsLocationType/editForm.vue LA22A07_Front/src/views/main/WmsLocationType/index.vue LA22A07_Front/src/views/main/WmsMaterial/addForm.vue LA22A07_Front/src/views/main/WmsMaterial/editForm.vue LA22A07_Front/src/views/main/WmsMaterial/index.vue LA22A07_Front/src/views/main/WmsPart/addForm.vue LA22A07_Front/src/views/main/WmsPart/editForm.vue LA22A07_Front/src/views/main/WmsPart/index.vue LA22A07_Front/src/views/main/WmsPlace/addForm.vue LA22A07_Front/src/views/main/WmsPlace/editForm.vue LA22A07_Front/src/views/main/WmsPlace/index.vue LA22A07_Front/src/views/main/WmsTask/InfoModal.vue LA22A07_Front/src/views/main/WmsTask/PriorityModal.vue LA22A07_Front/src/views/main/WmsTask/addForm.vue LA22A07_Front/src/views/main/WmsTask/editForm.vue LA22A07_Front/src/views/main/WmsTask/index.vue LA22A07_Front/src/views/main/screenMonitor/LabelTag.vue LA22A07_Front/src/views/main/screenMonitor/TopMiddleCmp.vue LA22A07_Front/src/views/main/screenMonitor/cards.vue LA22A07_Front/src/views/main/screenMonitor/digitalFlop.vue LA22A07_Front/src/views/main/screenMonitor/img/bg.png LA22A07_Front/src/views/main/screenMonitor/img/map.jpg LA22A07_Front/src/views/main/screenMonitor/img/map.png LA22A07_Front/src/views/main/screenMonitor/img/map2.png LA22A07_Front/src/views/main/screenMonitor/img/mapCenterPoint.png LA22A07_Front/src/views/main/screenMonitor/img/mapPoint.png LA22A07_Front/src/views/main/screenMonitor/index.vue LA22A07_Front/src/views/main/screenMonitor/left1.vue LA22A07_Front/src/views/main/screenMonitor/left12.vue LA22A07_Front/src/views/main/screenMonitor/left2.vue LA22A07_Front/src/views/main/screenMonitor/left22.vue LA22A07_Front/src/views/main/screenMonitor/left23.vue LA22A07_Front/src/views/main/screenMonitor/middle1.vue LA22A07_Front/src/views/main/screenMonitor/middle2.vue LA22A07_Front/src/views/main/screenMonitor/middle3.vue LA22A07_Front/src/views/main/screenMonitor/rankingBoard.vue LA22A07_Front/src/views/main/screenMonitor/right1.vue LA22A07_Front/src/views/main/screenMonitor/right2.vue LA22A07_Front/src/views/main/screenMonitor/right3.vue LA22A07_Front/src/views/main/screenMonitor/right4.vue LA22A07_Front/src/views/main/screenMonitor/scrollBoard.vue LA22A07_Front/src/views/main/screenMonitor/topHeader.vue LA22A07_Front/src/views/system/README.md LA22A07_Front/src/views/system/account/center/Index.vue LA22A07_Front/src/views/system/account/center/page/App.vue LA22A07_Front/src/views/system/account/center/page/Article.vue LA22A07_Front/src/views/system/account/center/page/Project.vue LA22A07_Front/src/views/system/account/center/page/index.js LA22A07_Front/src/views/system/account/settings/AvatarModal.vue LA22A07_Front/src/views/system/account/settings/BaseSetting.vue LA22A07_Front/src/views/system/account/settings/Binding.vue LA22A07_Front/src/views/system/account/settings/Custom.vue LA22A07_Front/src/views/system/account/settings/Index.vue LA22A07_Front/src/views/system/account/settings/Notification.vue LA22A07_Front/src/views/system/account/settings/Security.vue LA22A07_Front/src/views/system/account/settings/securityItem/updPwd.vue LA22A07_Front/src/views/system/app/addForm.vue LA22A07_Front/src/views/system/app/editForm.vue LA22A07_Front/src/views/system/app/index.vue LA22A07_Front/src/views/system/config/addForm.vue LA22A07_Front/src/views/system/config/editForm.vue LA22A07_Front/src/views/system/config/index.vue LA22A07_Front/src/views/system/dashboard/Analysis.vue LA22A07_Front/src/views/system/dashboard/Monitor.vue LA22A07_Front/src/views/system/dashboard/TestWork.vue LA22A07_Front/src/views/system/dashboard/Workplace.vue LA22A07_Front/src/views/system/dict/addForm.vue LA22A07_Front/src/views/system/dict/dictdata/addForm.vue LA22A07_Front/src/views/system/dict/dictdata/editForm.vue LA22A07_Front/src/views/system/dict/dictdata/index.vue LA22A07_Front/src/views/system/dict/editForm.vue LA22A07_Front/src/views/system/dict/index.vue LA22A07_Front/src/views/system/email/index.vue LA22A07_Front/src/views/system/exception/403.vue LA22A07_Front/src/views/system/exception/404.vue LA22A07_Front/src/views/system/exception/500.vue LA22A07_Front/src/views/system/file/detailForm.vue LA22A07_Front/src/views/system/file/index.vue LA22A07_Front/src/views/system/file/previewForm.vue LA22A07_Front/src/views/system/formDesign/edit.vue LA22A07_Front/src/views/system/formDesign/index.vue LA22A07_Front/src/views/system/formDesign/list.vue LA22A07_Front/src/views/system/index/ModuleA.vue LA22A07_Front/src/views/system/index/ModuleB.vue LA22A07_Front/src/views/system/index/ModuleC.vue LA22A07_Front/src/views/system/index/welcome.vue LA22A07_Front/src/views/system/machine/index.vue LA22A07_Front/src/views/system/menu/addForm.vue LA22A07_Front/src/views/system/menu/editForm.vue LA22A07_Front/src/views/system/menu/index.vue LA22A07_Front/src/views/system/myworkflow/auditor.vue LA22A07_Front/src/views/system/myworkflow/components/auditoropera.vue LA22A07_Front/src/views/system/myworkflow/components/viewworkflow.vue LA22A07_Front/src/views/system/myworkflow/create.vue LA22A07_Front/src/views/system/myworkflow/index.vue LA22A07_Front/src/views/system/myworkflow/unauditor.vue LA22A07_Front/src/views/system/notice/addForm.vue LA22A07_Front/src/views/system/notice/detailForm.vue LA22A07_Front/src/views/system/notice/editForm.vue LA22A07_Front/src/views/system/notice/index.vue LA22A07_Front/src/views/system/noticeReceived/detailForm.vue LA22A07_Front/src/views/system/noticeReceived/index.vue LA22A07_Front/src/views/system/onlineUser/index.vue LA22A07_Front/src/views/system/org/addForm.vue LA22A07_Front/src/views/system/org/editForm.vue LA22A07_Front/src/views/system/org/index.vue LA22A07_Front/src/views/system/pos/addForm.vue LA22A07_Front/src/views/system/pos/editForm.vue LA22A07_Front/src/views/system/pos/index.vue LA22A07_Front/src/views/system/role/addForm.vue LA22A07_Front/src/views/system/role/editForm.vue LA22A07_Front/src/views/system/role/index.vue LA22A07_Front/src/views/system/role/roleMenuForm.vue LA22A07_Front/src/views/system/role/roleOrgForm.vue LA22A07_Front/src/views/system/sms/index.vue LA22A07_Front/src/views/system/tenant/addForm.vue LA22A07_Front/src/views/system/tenant/editForm.vue LA22A07_Front/src/views/system/tenant/index.vue LA22A07_Front/src/views/system/tenant/tenantMenuForm.vue LA22A07_Front/src/views/system/timers/addForm.vue LA22A07_Front/src/views/system/timers/editForm.vue LA22A07_Front/src/views/system/timers/index.vue LA22A07_Front/src/views/system/user/addForm.vue LA22A07_Front/src/views/system/user/editForm.vue LA22A07_Front/src/views/system/user/index.vue LA22A07_Front/src/views/system/user/userOrgForm.vue LA22A07_Front/src/views/system/user/userRoleForm.vue LA22A07_Front/src/views/system/workflow/components/builderWorkFlow.vue LA22A07_Front/src/views/system/workflow/components/nomalWorkFlow.vue LA22A07_Front/src/views/system/workflow/components/store/conditionflownode.js LA22A07_Front/src/views/system/workflow/components/store/flowNodeGroup.vue LA22A07_Front/src/views/system/workflow/components/store/flowentity.js LA22A07_Front/src/views/system/workflow/components/store/flownodes.js LA22A07_Front/src/views/system/workflow/components/store/nodeProperty.vue LA22A07_Front/src/views/system/workflow/components/store/readme.md LA22A07_Front/src/views/system/workflow/components/store/sourcenodes.js LA22A07_Front/src/views/system/workflow/create.vue LA22A07_Front/src/views/system/workflow/edit.vue LA22A07_Front/src/views/system/workflow/index.vue LA22A07_Front/src/views/system/workflow/startworkflow.vue LA22A07_Front/src/views/userLoginReg/Login.vue LA22A07_Front/src/views/userLoginReg/Register.vue LA22A07_Front/src/views/userLoginReg/RegisterResult.vue LA22A07_Front/tests/unit/.eslintrc.js LA22A07_Front/vue.config.js LA22A07_Front/webstorm.config.js LA22A07_PDA/.gitignore LA22A07_PDA/.hbuilderx/launch.json LA22A07_PDA/App.vue LA22A07_PDA/README.md LA22A07_PDA/__json_server_mock__/db.json LA22A07_PDA/components/ActionUserRow.vue LA22A07_PDA/components/DefaultHeaderPageLayout.vue LA22A07_PDA/components/EasyPicker.vue LA22A07_PDA/components/EasySelectFormItem.vue LA22A07_PDA/components/FullPageLayout.vue LA22A07_PDA/components/HeaderPageLayout.vue LA22A07_PDA/components/PageHeader.vue LA22A07_PDA/components/ScanInputFormItem.vue LA22A07_PDA/components/UViewFormSelectPicker.vue LA22A07_PDA/config/index.js LA22A07_PDA/config/modules/ajax.js LA22A07_PDA/config/modules/pagination.js LA22A07_PDA/index.html LA22A07_PDA/main.js LA22A07_PDA/manifest.json LA22A07_PDA/mdImgs/1664329468868.jpg LA22A07_PDA/mdImgs/1664329790970.jpg LA22A07_PDA/mdImgs/1664330296712.png LA22A07_PDA/mdImgs/1665970038354.jpg LA22A07_PDA/package.json LA22A07_PDA/pages.json LA22A07_PDA/pages/baseTask/callagv.vue LA22A07_PDA/pages/baseTask/callagvs.vue LA22A07_PDA/pages/baseTask/callout.vue LA22A07_PDA/pages/baseTask/groupdisk.vue LA22A07_PDA/pages/baseTask/in.vue LA22A07_PDA/pages/baseTask/out.vue LA22A07_PDA/pages/baseTask/senagvtask.vue LA22A07_PDA/pages/home/index.vue LA22A07_PDA/pages/login/index.vue LA22A07_PDA/pages/print/bluePrint.js LA22A07_PDA/pages/print/bluetoothConnection.vue LA22A07_PDA/pages/setting/host.vue LA22A07_PDA/pages/start/index.vue LA22A07_PDA/service/request/index.js LA22A07_PDA/service/request/modules/beforeSend.js LA22A07_PDA/service/store/index.js LA22A07_PDA/service/store/modules/print.js LA22A07_PDA/service/store/modules/system.js LA22A07_PDA/service/store/modules/user.js LA22A07_PDA/static/fonts/iconfont.css LA22A07_PDA/static/fonts/iconfont.ttf LA22A07_PDA/static/fonts/iconfont.woff LA22A07_PDA/static/fonts/iconfont.woff2 LA22A07_PDA/static/img/error.png LA22A07_PDA/static/img/iconCk.png LA22A07_PDA/static/img/logo.jpg LA22A07_PDA/static/img/success.png LA22A07_PDA/static/js/print/gbk.js LA22A07_PDA/static/js/print/printerjobs.js LA22A07_PDA/static/js/utils/index.js LA22A07_PDA/static/js/utils/modules/color.js LA22A07_PDA/static/js/utils/modules/regexValidate.js LA22A07_PDA/static/logo.png LA22A07_PDA/uni.scss LA22A07_PDA/uni_modules/uni-card/changelog.md LA22A07_PDA/uni_modules/uni-card/components/uni-card/uni-card.vue LA22A07_PDA/uni_modules/uni-card/package.json LA22A07_PDA/uni_modules/uni-card/readme.md LA22A07_PDA/uni_modules/uni-data-select/changelog.md LA22A07_PDA/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.vue LA22A07_PDA/uni_modules/uni-data-select/package.json LA22A07_PDA/uni_modules/uni-data-select/readme.md LA22A07_PDA/uni_modules/uni-drawer/changelog.md LA22A07_PDA/uni_modules/uni-drawer/components/uni-drawer/keypress.js LA22A07_PDA/uni_modules/uni-drawer/components/uni-drawer/uni-drawer.vue LA22A07_PDA/uni_modules/uni-drawer/package.json LA22A07_PDA/uni_modules/uni-drawer/readme.md LA22A07_PDA/uni_modules/uni-icons/changelog.md LA22A07_PDA/uni_modules/uni-icons/components/uni-icons/icons.js LA22A07_PDA/uni_modules/uni-icons/components/uni-icons/uni-icons.vue LA22A07_PDA/uni_modules/uni-icons/components/uni-icons/uniicons.css LA22A07_PDA/uni_modules/uni-icons/components/uni-icons/uniicons.ttf LA22A07_PDA/uni_modules/uni-icons/package.json LA22A07_PDA/uni_modules/uni-icons/readme.md LA22A07_PDA/uni_modules/uni-load-more/changelog.md LA22A07_PDA/uni_modules/uni-load-more/components/uni-load-more/i18n/en.json LA22A07_PDA/uni_modules/uni-load-more/components/uni-load-more/i18n/index.js LA22A07_PDA/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hans.json LA22A07_PDA/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hant.json LA22A07_PDA/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.vue LA22A07_PDA/uni_modules/uni-load-more/package.json LA22A07_PDA/uni_modules/uni-load-more/readme.md LA22A07_PDA/uni_modules/uni-popup/changelog.md LA22A07_PDA/uni_modules/uni-popup/components/uni-popup-dialog/keypress.js LA22A07_PDA/uni_modules/uni-popup/components/uni-popup-dialog/uni-popup-dialog.vue LA22A07_PDA/uni_modules/uni-popup/components/uni-popup-message/uni-popup-message.vue LA22A07_PDA/uni_modules/uni-popup/components/uni-popup-share/uni-popup-share.vue LA22A07_PDA/uni_modules/uni-popup/components/uni-popup/i18n/en.json LA22A07_PDA/uni_modules/uni-popup/components/uni-popup/i18n/index.js LA22A07_PDA/uni_modules/uni-popup/components/uni-popup/i18n/zh-Hans.json LA22A07_PDA/uni_modules/uni-popup/components/uni-popup/i18n/zh-Hant.json LA22A07_PDA/uni_modules/uni-popup/components/uni-popup/keypress.js LA22A07_PDA/uni_modules/uni-popup/components/uni-popup/popup.js LA22A07_PDA/uni_modules/uni-popup/components/uni-popup/uni-popup.vue LA22A07_PDA/uni_modules/uni-popup/package.json LA22A07_PDA/uni_modules/uni-popup/readme.md LA22A07_PDA/uni_modules/uni-scss/changelog.md LA22A07_PDA/uni_modules/uni-scss/index.scss LA22A07_PDA/uni_modules/uni-scss/package.json LA22A07_PDA/uni_modules/uni-scss/readme.md LA22A07_PDA/uni_modules/uni-scss/styles/index.scss LA22A07_PDA/uni_modules/uni-scss/styles/setting/_border.scss LA22A07_PDA/uni_modules/uni-scss/styles/setting/_color.scss LA22A07_PDA/uni_modules/uni-scss/styles/setting/_radius.scss LA22A07_PDA/uni_modules/uni-scss/styles/setting/_space.scss LA22A07_PDA/uni_modules/uni-scss/styles/setting/_styles.scss LA22A07_PDA/uni_modules/uni-scss/styles/setting/_text.scss LA22A07_PDA/uni_modules/uni-scss/styles/setting/_variables.scss LA22A07_PDA/uni_modules/uni-scss/styles/tools/functions.scss LA22A07_PDA/uni_modules/uni-scss/theme.scss LA22A07_PDA/uni_modules/uni-scss/variables.scss LA22A07_PDA/uni_modules/uni-section/changelog.md LA22A07_PDA/uni_modules/uni-section/components/uni-section/uni-section.vue LA22A07_PDA/uni_modules/uni-section/package.json LA22A07_PDA/uni_modules/uni-section/readme.md LA22A07_PDA/uni_modules/uni-transition/changelog.md LA22A07_PDA/uni_modules/uni-transition/components/uni-transition/createAnimation.js LA22A07_PDA/uni_modules/uni-transition/components/uni-transition/uni-transition.vue LA22A07_PDA/uni_modules/uni-transition/package.json LA22A07_PDA/uni_modules/uni-transition/readme.md LA22A07_PDA/uni_modules/uview-ui/LICENSE LA22A07_PDA/uni_modules/uview-ui/README.md LA22A07_PDA/uni_modules/uview-ui/changelog.md LA22A07_PDA/uni_modules/uview-ui/components/u--form/u--form.vue LA22A07_PDA/uni_modules/uview-ui/components/u--image/u--image.vue LA22A07_PDA/uni_modules/uview-ui/components/u--input/u--input.vue LA22A07_PDA/uni_modules/uview-ui/components/u--text/u--text.vue LA22A07_PDA/uni_modules/uview-ui/components/u--textarea/u--textarea.vue LA22A07_PDA/uni_modules/uview-ui/components/u-action-sheet/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-action-sheet/u-action-sheet.vue LA22A07_PDA/uni_modules/uview-ui/components/u-album/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-album/u-album.vue LA22A07_PDA/uni_modules/uview-ui/components/u-alert/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-alert/u-alert.vue LA22A07_PDA/uni_modules/uview-ui/components/u-avatar-group/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-avatar-group/u-avatar-group.vue LA22A07_PDA/uni_modules/uview-ui/components/u-avatar/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-avatar/u-avatar.vue LA22A07_PDA/uni_modules/uview-ui/components/u-back-top/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-back-top/u-back-top.vue LA22A07_PDA/uni_modules/uview-ui/components/u-badge/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-badge/u-badge.vue LA22A07_PDA/uni_modules/uview-ui/components/u-button/nvue.scss LA22A07_PDA/uni_modules/uview-ui/components/u-button/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-button/u-button.vue LA22A07_PDA/uni_modules/uview-ui/components/u-button/vue.scss LA22A07_PDA/uni_modules/uview-ui/components/u-calendar/header.vue LA22A07_PDA/uni_modules/uview-ui/components/u-calendar/month.vue LA22A07_PDA/uni_modules/uview-ui/components/u-calendar/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-calendar/u-calendar.vue LA22A07_PDA/uni_modules/uview-ui/components/u-calendar/util.js LA22A07_PDA/uni_modules/uview-ui/components/u-car-keyboard/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-car-keyboard/u-car-keyboard.vue LA22A07_PDA/uni_modules/uview-ui/components/u-cell-group/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-cell-group/u-cell-group.vue LA22A07_PDA/uni_modules/uview-ui/components/u-cell/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-cell/u-cell.vue LA22A07_PDA/uni_modules/uview-ui/components/u-checkbox-group/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-checkbox-group/u-checkbox-group.vue LA22A07_PDA/uni_modules/uview-ui/components/u-checkbox/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-checkbox/u-checkbox.vue LA22A07_PDA/uni_modules/uview-ui/components/u-circle-progress/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-circle-progress/u-circle-progress.vue LA22A07_PDA/uni_modules/uview-ui/components/u-code-input/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-code-input/u-code-input.vue LA22A07_PDA/uni_modules/uview-ui/components/u-code/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-code/u-code.vue LA22A07_PDA/uni_modules/uview-ui/components/u-col/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-col/u-col.vue LA22A07_PDA/uni_modules/uview-ui/components/u-collapse-item/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-collapse-item/u-collapse-item.vue LA22A07_PDA/uni_modules/uview-ui/components/u-collapse/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-collapse/u-collapse.vue LA22A07_PDA/uni_modules/uview-ui/components/u-column-notice/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-column-notice/u-column-notice.vue LA22A07_PDA/uni_modules/uview-ui/components/u-count-down/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-count-down/u-count-down.vue LA22A07_PDA/uni_modules/uview-ui/components/u-count-down/utils.js LA22A07_PDA/uni_modules/uview-ui/components/u-count-to/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-count-to/u-count-to.vue LA22A07_PDA/uni_modules/uview-ui/components/u-datetime-picker/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-datetime-picker/u-datetime-picker.vue LA22A07_PDA/uni_modules/uview-ui/components/u-divider/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-divider/u-divider.vue LA22A07_PDA/uni_modules/uview-ui/components/u-dropdown-item/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-dropdown-item/u-dropdown-item.vue LA22A07_PDA/uni_modules/uview-ui/components/u-dropdown/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-dropdown/u-dropdown.vue LA22A07_PDA/uni_modules/uview-ui/components/u-empty/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-empty/u-empty.vue LA22A07_PDA/uni_modules/uview-ui/components/u-form-item/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-form-item/u-form-item.vue LA22A07_PDA/uni_modules/uview-ui/components/u-form/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-form/u-form.vue LA22A07_PDA/uni_modules/uview-ui/components/u-gap/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-gap/u-gap.vue LA22A07_PDA/uni_modules/uview-ui/components/u-grid-item/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-grid-item/u-grid-item.vue LA22A07_PDA/uni_modules/uview-ui/components/u-grid/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-grid/u-grid.vue LA22A07_PDA/uni_modules/uview-ui/components/u-icon/iconfont.ttf LA22A07_PDA/uni_modules/uview-ui/components/u-icon/icons.js LA22A07_PDA/uni_modules/uview-ui/components/u-icon/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-icon/u-icon.vue LA22A07_PDA/uni_modules/uview-ui/components/u-image/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-image/u-image.vue LA22A07_PDA/uni_modules/uview-ui/components/u-index-anchor/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-index-anchor/u-index-anchor.vue LA22A07_PDA/uni_modules/uview-ui/components/u-index-item/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-index-item/u-index-item.vue LA22A07_PDA/uni_modules/uview-ui/components/u-index-list/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-index-list/u-index-list.vue LA22A07_PDA/uni_modules/uview-ui/components/u-input/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-input/u-input.vue LA22A07_PDA/uni_modules/uview-ui/components/u-keyboard/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-keyboard/u-keyboard.vue LA22A07_PDA/uni_modules/uview-ui/components/u-line-progress/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-line-progress/u-line-progress.vue LA22A07_PDA/uni_modules/uview-ui/components/u-line/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-line/u-line.vue LA22A07_PDA/uni_modules/uview-ui/components/u-link/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-link/u-link.vue LA22A07_PDA/uni_modules/uview-ui/components/u-list-item/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-list-item/u-list-item.vue LA22A07_PDA/uni_modules/uview-ui/components/u-list/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-list/u-list.vue LA22A07_PDA/uni_modules/uview-ui/components/u-loading-icon/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-loading-icon/u-loading-icon.vue LA22A07_PDA/uni_modules/uview-ui/components/u-loading-page/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-loading-page/u-loading-page.vue LA22A07_PDA/uni_modules/uview-ui/components/u-loadmore/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-loadmore/u-loadmore.vue LA22A07_PDA/uni_modules/uview-ui/components/u-modal/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-modal/u-modal.vue LA22A07_PDA/uni_modules/uview-ui/components/u-navbar/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-navbar/u-navbar.vue LA22A07_PDA/uni_modules/uview-ui/components/u-no-network/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-no-network/u-no-network.vue LA22A07_PDA/uni_modules/uview-ui/components/u-notice-bar/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-notice-bar/u-notice-bar.vue LA22A07_PDA/uni_modules/uview-ui/components/u-notify/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-notify/u-notify.vue LA22A07_PDA/uni_modules/uview-ui/components/u-number-box/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-number-box/u-number-box.vue LA22A07_PDA/uni_modules/uview-ui/components/u-number-keyboard/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-number-keyboard/u-number-keyboard.vue LA22A07_PDA/uni_modules/uview-ui/components/u-overlay/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-overlay/u-overlay.vue LA22A07_PDA/uni_modules/uview-ui/components/u-parse/node/node.vue LA22A07_PDA/uni_modules/uview-ui/components/u-parse/parser.js LA22A07_PDA/uni_modules/uview-ui/components/u-parse/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-parse/u-parse.vue LA22A07_PDA/uni_modules/uview-ui/components/u-picker-column/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-picker-column/u-picker-column.vue LA22A07_PDA/uni_modules/uview-ui/components/u-picker/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-picker/u-picker.vue LA22A07_PDA/uni_modules/uview-ui/components/u-popup/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-popup/u-popup.vue LA22A07_PDA/uni_modules/uview-ui/components/u-radio-group/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-radio-group/u-radio-group.vue LA22A07_PDA/uni_modules/uview-ui/components/u-radio/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-radio/u-radio.vue LA22A07_PDA/uni_modules/uview-ui/components/u-rate/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-rate/u-rate.vue LA22A07_PDA/uni_modules/uview-ui/components/u-read-more/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-read-more/u-read-more.vue LA22A07_PDA/uni_modules/uview-ui/components/u-row-notice/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-row-notice/u-row-notice.vue LA22A07_PDA/uni_modules/uview-ui/components/u-row/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-row/u-row.vue LA22A07_PDA/uni_modules/uview-ui/components/u-safe-bottom/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-safe-bottom/u-safe-bottom.vue LA22A07_PDA/uni_modules/uview-ui/components/u-scroll-list/nvue.js LA22A07_PDA/uni_modules/uview-ui/components/u-scroll-list/other.js LA22A07_PDA/uni_modules/uview-ui/components/u-scroll-list/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-scroll-list/scrollWxs.wxs LA22A07_PDA/uni_modules/uview-ui/components/u-scroll-list/u-scroll-list.vue LA22A07_PDA/uni_modules/uview-ui/components/u-search/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-search/u-search.vue LA22A07_PDA/uni_modules/uview-ui/components/u-skeleton/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-skeleton/u-skeleton.vue LA22A07_PDA/uni_modules/uview-ui/components/u-slider/mpother.js LA22A07_PDA/uni_modules/uview-ui/components/u-slider/mpwxs.js LA22A07_PDA/uni_modules/uview-ui/components/u-slider/mpwxs.wxs LA22A07_PDA/uni_modules/uview-ui/components/u-slider/nvue - 副本.js LA22A07_PDA/uni_modules/uview-ui/components/u-slider/nvue.js LA22A07_PDA/uni_modules/uview-ui/components/u-slider/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-slider/u-slider.vue LA22A07_PDA/uni_modules/uview-ui/components/u-status-bar/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-status-bar/u-status-bar.vue LA22A07_PDA/uni_modules/uview-ui/components/u-steps-item/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-steps-item/u-steps-item.vue LA22A07_PDA/uni_modules/uview-ui/components/u-steps/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-steps/u-steps.vue LA22A07_PDA/uni_modules/uview-ui/components/u-sticky/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-sticky/u-sticky.vue LA22A07_PDA/uni_modules/uview-ui/components/u-subsection/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-subsection/u-subsection.vue LA22A07_PDA/uni_modules/uview-ui/components/u-swipe-action-item/index - backup.wxs LA22A07_PDA/uni_modules/uview-ui/components/u-swipe-action-item/index.wxs LA22A07_PDA/uni_modules/uview-ui/components/u-swipe-action-item/nvue - backup.js LA22A07_PDA/uni_modules/uview-ui/components/u-swipe-action-item/nvue.js LA22A07_PDA/uni_modules/uview-ui/components/u-swipe-action-item/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-swipe-action-item/u-swipe-action-item.vue LA22A07_PDA/uni_modules/uview-ui/components/u-swipe-action-item/wxs.js LA22A07_PDA/uni_modules/uview-ui/components/u-swipe-action/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-swipe-action/u-swipe-action.vue LA22A07_PDA/uni_modules/uview-ui/components/u-swiper-indicator/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-swiper-indicator/u-swiper-indicator.vue LA22A07_PDA/uni_modules/uview-ui/components/u-swiper/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-swiper/u-swiper.vue LA22A07_PDA/uni_modules/uview-ui/components/u-switch/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-switch/u-switch.vue LA22A07_PDA/uni_modules/uview-ui/components/u-tabbar-item/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-tabbar-item/u-tabbar-item.vue LA22A07_PDA/uni_modules/uview-ui/components/u-tabbar/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-tabbar/u-tabbar.vue LA22A07_PDA/uni_modules/uview-ui/components/u-table/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-table/u-table.vue LA22A07_PDA/uni_modules/uview-ui/components/u-tabs-item/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-tabs-item/u-tabs-item.vue LA22A07_PDA/uni_modules/uview-ui/components/u-tabs/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-tabs/u-tabs.vue LA22A07_PDA/uni_modules/uview-ui/components/u-tag/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-tag/u-tag.vue LA22A07_PDA/uni_modules/uview-ui/components/u-td/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-td/u-td.vue LA22A07_PDA/uni_modules/uview-ui/components/u-text/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-text/u-text.vue LA22A07_PDA/uni_modules/uview-ui/components/u-text/value.js LA22A07_PDA/uni_modules/uview-ui/components/u-textarea/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-textarea/u-textarea.vue LA22A07_PDA/uni_modules/uview-ui/components/u-toast/u-toast.vue LA22A07_PDA/uni_modules/uview-ui/components/u-toolbar/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-toolbar/u-toolbar.vue LA22A07_PDA/uni_modules/uview-ui/components/u-tooltip/clipboard.min.js LA22A07_PDA/uni_modules/uview-ui/components/u-tooltip/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-tooltip/u-tooltip.vue LA22A07_PDA/uni_modules/uview-ui/components/u-tr/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-tr/u-tr.vue LA22A07_PDA/uni_modules/uview-ui/components/u-transition/nvue.ani-map.js LA22A07_PDA/uni_modules/uview-ui/components/u-transition/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-transition/transition.js LA22A07_PDA/uni_modules/uview-ui/components/u-transition/u-transition.vue LA22A07_PDA/uni_modules/uview-ui/components/u-transition/vue.ani-style.scss LA22A07_PDA/uni_modules/uview-ui/components/u-upload/mixin.js LA22A07_PDA/uni_modules/uview-ui/components/u-upload/props.js LA22A07_PDA/uni_modules/uview-ui/components/u-upload/u-upload.vue LA22A07_PDA/uni_modules/uview-ui/components/u-upload/utils.js LA22A07_PDA/uni_modules/uview-ui/components/uview-ui/uview-ui.vue LA22A07_PDA/uni_modules/uview-ui/index.js LA22A07_PDA/uni_modules/uview-ui/index.scss LA22A07_PDA/uni_modules/uview-ui/libs/config/color.js LA22A07_PDA/uni_modules/uview-ui/libs/config/config.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/actionSheet.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/album.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/alert.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/avatar.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/avatarGroup.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/backtop.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/badge.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/button.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/calendar.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/carKeyboard.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/cell.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/cellGroup.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/checkbox.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/checkboxGroup.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/circleProgress.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/code.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/codeInput.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/col.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/collapse.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/collapseItem.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/columnNotice.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/countDown.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/countTo.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/datetimePicker.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/divider.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/empty.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/form.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/formItem.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/gap.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/grid.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/gridItem.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/icon.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/image.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/indexAnchor.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/indexList.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/input.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/keyboard.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/line.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/lineProgress.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/link.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/list.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/listItem.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/loadingIcon.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/loadingPage.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/loadmore.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/modal.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/navbar.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/noNetwork.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/noticeBar.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/notify.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/numberBox.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/numberKeyboard.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/overlay.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/parse.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/picker.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/popup.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/radio.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/radioGroup.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/rate.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/readMore.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/row.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/rowNotice.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/scrollList.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/search.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/section.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/skeleton.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/slider.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/statusBar.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/steps.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/stepsItem.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/sticky.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/subsection.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/swipeAction.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/swipeActionItem.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/swiper.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/swipterIndicator.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/switch.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/tabbar.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/tabbarItem.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/tabs.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/tag.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/text.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/textarea.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/toast.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/toolbar.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/tooltip.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/transition.js LA22A07_PDA/uni_modules/uview-ui/libs/config/props/upload.js LA22A07_PDA/uni_modules/uview-ui/libs/config/zIndex.js LA22A07_PDA/uni_modules/uview-ui/libs/css/color.scss LA22A07_PDA/uni_modules/uview-ui/libs/css/common.scss LA22A07_PDA/uni_modules/uview-ui/libs/css/components.scss LA22A07_PDA/uni_modules/uview-ui/libs/css/flex.scss LA22A07_PDA/uni_modules/uview-ui/libs/css/h5.scss LA22A07_PDA/uni_modules/uview-ui/libs/css/mixin.scss LA22A07_PDA/uni_modules/uview-ui/libs/css/mp.scss LA22A07_PDA/uni_modules/uview-ui/libs/css/nvue.scss LA22A07_PDA/uni_modules/uview-ui/libs/css/vue.scss LA22A07_PDA/uni_modules/uview-ui/libs/function/colorGradient.js LA22A07_PDA/uni_modules/uview-ui/libs/function/debounce.js LA22A07_PDA/uni_modules/uview-ui/libs/function/digit.js LA22A07_PDA/uni_modules/uview-ui/libs/function/index.js LA22A07_PDA/uni_modules/uview-ui/libs/function/platform.js LA22A07_PDA/uni_modules/uview-ui/libs/function/test.js LA22A07_PDA/uni_modules/uview-ui/libs/function/throttle.js LA22A07_PDA/uni_modules/uview-ui/libs/luch-request/adapters/index.js LA22A07_PDA/uni_modules/uview-ui/libs/luch-request/core/InterceptorManager.js LA22A07_PDA/uni_modules/uview-ui/libs/luch-request/core/Request.js LA22A07_PDA/uni_modules/uview-ui/libs/luch-request/core/buildFullPath.js LA22A07_PDA/uni_modules/uview-ui/libs/luch-request/core/defaults.js LA22A07_PDA/uni_modules/uview-ui/libs/luch-request/core/dispatchRequest.js LA22A07_PDA/uni_modules/uview-ui/libs/luch-request/core/mergeConfig.js LA22A07_PDA/uni_modules/uview-ui/libs/luch-request/core/settle.js LA22A07_PDA/uni_modules/uview-ui/libs/luch-request/helpers/buildURL.js LA22A07_PDA/uni_modules/uview-ui/libs/luch-request/helpers/combineURLs.js LA22A07_PDA/uni_modules/uview-ui/libs/luch-request/helpers/isAbsoluteURL.js LA22A07_PDA/uni_modules/uview-ui/libs/luch-request/index.d.ts LA22A07_PDA/uni_modules/uview-ui/libs/luch-request/index.js LA22A07_PDA/uni_modules/uview-ui/libs/luch-request/utils.js LA22A07_PDA/uni_modules/uview-ui/libs/luch-request/utils/clone.js LA22A07_PDA/uni_modules/uview-ui/libs/mixin/button.js LA22A07_PDA/uni_modules/uview-ui/libs/mixin/mixin.js LA22A07_PDA/uni_modules/uview-ui/libs/mixin/mpMixin.js LA22A07_PDA/uni_modules/uview-ui/libs/mixin/mpShare.js LA22A07_PDA/uni_modules/uview-ui/libs/mixin/openType.js LA22A07_PDA/uni_modules/uview-ui/libs/mixin/style.js LA22A07_PDA/uni_modules/uview-ui/libs/mixin/touch.js LA22A07_PDA/uni_modules/uview-ui/libs/util/async-validator.js LA22A07_PDA/uni_modules/uview-ui/libs/util/calendar.js LA22A07_PDA/uni_modules/uview-ui/libs/util/dayjs.js LA22A07_PDA/uni_modules/uview-ui/libs/util/emitter.js LA22A07_PDA/uni_modules/uview-ui/libs/util/route.js LA22A07_PDA/uni_modules/uview-ui/package.json LA22A07_PDA/uni_modules/uview-ui/theme.scss LA22A07_PDA/unpackage/cache/apk/__UNI__BF591AD_cm.apk LA22A07_PDA/unpackage/cache/apk/apkurl LA22A07_PDA/unpackage/cache/apk/cmManifestCache.json LA22A07_PDA/unpackage/cache/certdata LA22A07_PDA/unpackage/cache/cloudcertificate/certini LA22A07_PDA/unpackage/cache/cloudcertificate/package.keystore LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/.manifest/icon-android-hdpi.png LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/.manifest/icon-android-xhdpi.png LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/.manifest/icon-android-xxhdpi.png LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/.manifest/icon-android-xxxhdpi.png LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/__uniappchooselocation.js LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/__uniapperror.png LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/__uniappes6.js LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/__uniappopenlocation.js LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/__uniapppicker.js LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/__uniappquill.js LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/__uniappquillimageresize.js LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/__uniappscan.js LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/__uniappsuccess.png LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/__uniappview.html LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/app-config-service.js LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/app-config.js LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/app-service.js LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/app-view.js LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/assets/iconfont.4e517824.ttf LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/assets/uniicons.b6d3756e.ttf LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/manifest.json LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/static/fonts/iconfont.css LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/static/fonts/iconfont.ttf LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/static/fonts/iconfont.woff LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/static/fonts/iconfont.woff2 LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/static/img/error.png LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/static/img/iconCk.png LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/static/img/logo.jpg LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/static/img/success.png LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/static/js/print/gbk.js LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/static/js/print/printerjobs.js LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/static/js/utils/index.js LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/static/js/utils/modules/color.js LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/static/js/utils/modules/regexValidate.js LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/static/logo.png LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/view.css LA22A07_PDA/unpackage/cache/wgt/__UNI__BF591AD/view.umd.min.js LA22A07_PDA/unpackage/dist/build/.automator/app-plus/.automator.json LA22A07_PDA/unpackage/dist/build/app-plus/__uniappchooselocation.js LA22A07_PDA/unpackage/dist/build/app-plus/__uniapperror.png LA22A07_PDA/unpackage/dist/build/app-plus/__uniappes6.js LA22A07_PDA/unpackage/dist/build/app-plus/__uniappopenlocation.js LA22A07_PDA/unpackage/dist/build/app-plus/__uniapppicker.js LA22A07_PDA/unpackage/dist/build/app-plus/__uniappquill.js LA22A07_PDA/unpackage/dist/build/app-plus/__uniappquillimageresize.js LA22A07_PDA/unpackage/dist/build/app-plus/__uniappscan.js LA22A07_PDA/unpackage/dist/build/app-plus/__uniappsuccess.png LA22A07_PDA/unpackage/dist/build/app-plus/__uniappview.html LA22A07_PDA/unpackage/dist/build/app-plus/app-config-service.js LA22A07_PDA/unpackage/dist/build/app-plus/app-config.js LA22A07_PDA/unpackage/dist/build/app-plus/app-service.js LA22A07_PDA/unpackage/dist/build/app-plus/app-view.js LA22A07_PDA/unpackage/dist/build/app-plus/assets/iconfont.4e517824.ttf LA22A07_PDA/unpackage/dist/build/app-plus/assets/uniicons.b6d3756e.ttf LA22A07_PDA/unpackage/dist/build/app-plus/manifest.json LA22A07_PDA/unpackage/dist/build/app-plus/static/fonts/iconfont.css LA22A07_PDA/unpackage/dist/build/app-plus/static/fonts/iconfont.ttf LA22A07_PDA/unpackage/dist/build/app-plus/static/fonts/iconfont.woff LA22A07_PDA/unpackage/dist/build/app-plus/static/fonts/iconfont.woff2 LA22A07_PDA/unpackage/dist/build/app-plus/static/img/error.png LA22A07_PDA/unpackage/dist/build/app-plus/static/img/iconCk.png LA22A07_PDA/unpackage/dist/build/app-plus/static/img/logo.jpg LA22A07_PDA/unpackage/dist/build/app-plus/static/img/success.png LA22A07_PDA/unpackage/dist/build/app-plus/static/js/print/gbk.js LA22A07_PDA/unpackage/dist/build/app-plus/static/js/print/printerjobs.js LA22A07_PDA/unpackage/dist/build/app-plus/static/js/utils/index.js LA22A07_PDA/unpackage/dist/build/app-plus/static/js/utils/modules/color.js LA22A07_PDA/unpackage/dist/build/app-plus/static/js/utils/modules/regexValidate.js LA22A07_PDA/unpackage/dist/build/app-plus/static/logo.png LA22A07_PDA/unpackage/dist/build/app-plus/view.css LA22A07_PDA/unpackage/dist/build/app-plus/view.umd.min.js LA22A07_PDA/unpackage/dist/dev/.automator/app-plus/.automator.json LA22A07_PDA/unpackage/dist/dev/app-plus/__uniappchooselocation.js LA22A07_PDA/unpackage/dist/dev/app-plus/__uniapperror.png LA22A07_PDA/unpackage/dist/dev/app-plus/__uniappes6.js LA22A07_PDA/unpackage/dist/dev/app-plus/__uniappopenlocation.js LA22A07_PDA/unpackage/dist/dev/app-plus/__uniapppicker.js LA22A07_PDA/unpackage/dist/dev/app-plus/__uniappquill.js LA22A07_PDA/unpackage/dist/dev/app-plus/__uniappquillimageresize.js LA22A07_PDA/unpackage/dist/dev/app-plus/__uniappscan.js LA22A07_PDA/unpackage/dist/dev/app-plus/__uniappsuccess.png LA22A07_PDA/unpackage/dist/dev/app-plus/__uniappview.html LA22A07_PDA/unpackage/dist/dev/app-plus/app-config-service.js LA22A07_PDA/unpackage/dist/dev/app-plus/app-config.js LA22A07_PDA/unpackage/dist/dev/app-plus/app-service.js LA22A07_PDA/unpackage/dist/dev/app-plus/app-view.js LA22A07_PDA/unpackage/dist/dev/app-plus/manifest.json LA22A07_PDA/unpackage/dist/dev/app-plus/static/fonts/iconfont.css LA22A07_PDA/unpackage/dist/dev/app-plus/static/fonts/iconfont.ttf LA22A07_PDA/unpackage/dist/dev/app-plus/static/fonts/iconfont.woff LA22A07_PDA/unpackage/dist/dev/app-plus/static/fonts/iconfont.woff2 LA22A07_PDA/unpackage/dist/dev/app-plus/static/img/error.png LA22A07_PDA/unpackage/dist/dev/app-plus/static/img/iconCk.png LA22A07_PDA/unpackage/dist/dev/app-plus/static/img/logo.jpg LA22A07_PDA/unpackage/dist/dev/app-plus/static/img/success.png LA22A07_PDA/unpackage/dist/dev/app-plus/static/js/print/gbk.js LA22A07_PDA/unpackage/dist/dev/app-plus/static/js/print/printerjobs.js LA22A07_PDA/unpackage/dist/dev/app-plus/static/js/utils/index.js LA22A07_PDA/unpackage/dist/dev/app-plus/static/js/utils/modules/color.js LA22A07_PDA/unpackage/dist/dev/app-plus/static/js/utils/modules/regexValidate.js LA22A07_PDA/unpackage/dist/dev/app-plus/static/logo.png LA22A07_PDA/unpackage/dist/dev/app-plus/uni_modules/uni-icons/components/uni-icons/uniicons.ttf LA22A07_PDA/unpackage/dist/dev/app-plus/uni_modules/uview-ui/components/u-icon/iconfont.ttf LA22A07_PDA/unpackage/dist/dev/app-plus/view.css LA22A07_PDA/unpackage/dist/dev/app-plus/view.umd.min.js LA22A07_PDA/unpackage/res/icons/1024x1024.png LA22A07_PDA/unpackage/res/icons/120x120.png LA22A07_PDA/unpackage/res/icons/144x144.png LA22A07_PDA/unpackage/res/icons/152x152.png LA22A07_PDA/unpackage/res/icons/167x167.png LA22A07_PDA/unpackage/res/icons/180x180.png LA22A07_PDA/unpackage/res/icons/192x192.png LA22A07_PDA/unpackage/res/icons/20x20.png LA22A07_PDA/unpackage/res/icons/29x29.png LA22A07_PDA/unpackage/res/icons/40x40.png LA22A07_PDA/unpackage/res/icons/58x58.png LA22A07_PDA/unpackage/res/icons/60x60.png LA22A07_PDA/unpackage/res/icons/72x72.png LA22A07_PDA/unpackage/res/icons/76x76.png LA22A07_PDA/unpackage/res/icons/80x80.png LA22A07_PDA/unpackage/res/icons/87x87.png LA22A07_PDA/unpackage/res/icons/96x96.png LA22A07_QY/.gitattributes LA22A07_QY/.gitignore LA22A07_QY/LA22A07_QY.sln LA22A07_QY/README.en.md LA22A07_QY/README.md LA22A07_QY/iWare.Wms.Application/Entity/LocationView.cs LA22A07_QY/iWare.Wms.Application/Mapper/CustomMapper.cs LA22A07_QY/iWare.Wms.Application/Service/Common/CommonHelper.cs LA22A07_QY/iWare.Wms.Application/Service/Common/FindEmptyLocationFactory/Default/ContainerFindEmptyLocationHandle.cs LA22A07_QY/iWare.Wms.Application/Service/Common/FindEmptyLocationFactory/Default/MaterialFindEmptyLocationHandle.cs LA22A07_QY/iWare.Wms.Application/Service/Common/FindEmptyLocationFactory/FindEmptyLocationServiceFactory.cs LA22A07_QY/iWare.Wms.Application/Service/Common/FindEmptyLocationFactory/FindEmptyLocationServiceHandle.cs LA22A07_QY/iWare.Wms.Application/Service/Common/ListHelper.cs LA22A07_QY/iWare.Wms.Application/Service/System/App/Dto/AppInput.cs LA22A07_QY/iWare.Wms.Application/Service/System/App/Dto/AppOutput.cs LA22A07_QY/iWare.Wms.Application/Service/System/App/ISysAppService.cs LA22A07_QY/iWare.Wms.Application/Service/System/App/SysAppService.cs LA22A07_QY/iWare.Wms.Application/Service/System/Auth/AuthService.cs LA22A07_QY/iWare.Wms.Application/Service/System/Auth/Dto/LoginInput.cs LA22A07_QY/iWare.Wms.Application/Service/System/Auth/Dto/LoginOutput.cs LA22A07_QY/iWare.Wms.Application/Service/System/Auth/Dto/RegistInput.cs LA22A07_QY/iWare.Wms.Application/Service/System/Auth/IAuthService.cs LA22A07_QY/iWare.Wms.Application/Service/System/Base/BaseService.cs LA22A07_QY/iWare.Wms.Application/Service/System/Base/Dto/BaseDto.cs LA22A07_QY/iWare.Wms.Application/Service/System/Cache/ISysCacheService.cs LA22A07_QY/iWare.Wms.Application/Service/System/Cache/SysCacheService.cs LA22A07_QY/iWare.Wms.Application/Service/System/Captcha/ClickWord/ClickWordCaptcha.cs LA22A07_QY/iWare.Wms.Application/Service/System/Captcha/ClickWord/ClickWordCaptchaInput.cs LA22A07_QY/iWare.Wms.Application/Service/System/Captcha/ClickWord/ClickWordCaptchaResult.cs LA22A07_QY/iWare.Wms.Application/Service/System/Captcha/ClickWord/IClickWordCaptcha.cs LA22A07_QY/iWare.Wms.Application/Service/System/Captcha/General/GeneralCaptcha.cs LA22A07_QY/iWare.Wms.Application/Service/System/Captcha/General/GeneralCaptchaInput.cs LA22A07_QY/iWare.Wms.Application/Service/System/Captcha/General/IGeneralCaptcha.cs LA22A07_QY/iWare.Wms.Application/Service/System/CodeGen/CodeGenConfigService.cs LA22A07_QY/iWare.Wms.Application/Service/System/CodeGen/CodeGenService.cs LA22A07_QY/iWare.Wms.Application/Service/System/CodeGen/Dto/CodeGenConfig.cs LA22A07_QY/iWare.Wms.Application/Service/System/CodeGen/Dto/CodeGenInput.cs LA22A07_QY/iWare.Wms.Application/Service/System/CodeGen/Dto/CodeGenModel.cs LA22A07_QY/iWare.Wms.Application/Service/System/CodeGen/Dto/CodeGenOutput.cs LA22A07_QY/iWare.Wms.Application/Service/System/CodeGen/Dto/DatabaseOutput.cs LA22A07_QY/iWare.Wms.Application/Service/System/CodeGen/Dto/TableColumnOuput.cs LA22A07_QY/iWare.Wms.Application/Service/System/CodeGen/Dto/TableOutput.cs LA22A07_QY/iWare.Wms.Application/Service/System/CodeGen/Dto/XnCodeGenOutput.cs LA22A07_QY/iWare.Wms.Application/Service/System/CodeGen/ICodeGenConfigService.cs LA22A07_QY/iWare.Wms.Application/Service/System/CodeGen/ICodeGenService.cs LA22A07_QY/iWare.Wms.Application/Service/System/Config/Dto/ConfigInput.cs LA22A07_QY/iWare.Wms.Application/Service/System/Config/ISysConfigService.cs LA22A07_QY/iWare.Wms.Application/Service/System/Config/SysConfigService.cs LA22A07_QY/iWare.Wms.Application/Service/System/Dict/Dto/DictDataInput.cs LA22A07_QY/iWare.Wms.Application/Service/System/Dict/Dto/DictDataOutput.cs LA22A07_QY/iWare.Wms.Application/Service/System/Dict/Dto/DictTreeOutput.cs LA22A07_QY/iWare.Wms.Application/Service/System/Dict/Dto/DictTypeInput.cs LA22A07_QY/iWare.Wms.Application/Service/System/Dict/ISysDictDataService.cs LA22A07_QY/iWare.Wms.Application/Service/System/Dict/ISysDictTypeService.cs LA22A07_QY/iWare.Wms.Application/Service/System/Dict/SysDictDataService.cs LA22A07_QY/iWare.Wms.Application/Service/System/Dict/SysDictTypeService.cs LA22A07_QY/iWare.Wms.Application/Service/System/Emp/Dto/EmpExtOrgPosOutput.cs LA22A07_QY/iWare.Wms.Application/Service/System/Emp/Dto/EmpOutput.cs LA22A07_QY/iWare.Wms.Application/Service/System/Emp/Dto/EmpOutput2.cs LA22A07_QY/iWare.Wms.Application/Service/System/Emp/Dto/EmpPosOutput.cs LA22A07_QY/iWare.Wms.Application/Service/System/Emp/ISysEmpExtOrgPosService.cs LA22A07_QY/iWare.Wms.Application/Service/System/Emp/ISysEmpPosService.cs LA22A07_QY/iWare.Wms.Application/Service/System/Emp/ISysEmpService.cs LA22A07_QY/iWare.Wms.Application/Service/System/Emp/SysEmpExtOrgPosService.cs LA22A07_QY/iWare.Wms.Application/Service/System/Emp/SysEmpPosService.cs LA22A07_QY/iWare.Wms.Application/Service/System/Emp/SysEmpService.cs LA22A07_QY/iWare.Wms.Application/Service/System/Enum/Dto/EnumDataInput.cs LA22A07_QY/iWare.Wms.Application/Service/System/Enum/Dto/EnumDataOutput.cs LA22A07_QY/iWare.Wms.Application/Service/System/Enum/ISysEnumDataService.cs LA22A07_QY/iWare.Wms.Application/Service/System/Enum/SysEnumDataService.cs LA22A07_QY/iWare.Wms.Application/Service/System/File/Dto/FileInput.cs LA22A07_QY/iWare.Wms.Application/Service/System/File/Dto/FileOutput.cs LA22A07_QY/iWare.Wms.Application/Service/System/File/ISysFileService.cs LA22A07_QY/iWare.Wms.Application/Service/System/File/SysFileService.cs LA22A07_QY/iWare.Wms.Application/Service/System/Forms/Dto/FormAddDto.cs LA22A07_QY/iWare.Wms.Application/Service/System/Forms/Dto/FormDto.cs LA22A07_QY/iWare.Wms.Application/Service/System/Forms/Dto/FormEditDto.cs LA22A07_QY/iWare.Wms.Application/Service/System/Forms/Dto/FormPageSearch.cs LA22A07_QY/iWare.Wms.Application/Service/System/Forms/Dto/FormPublishDto.cs LA22A07_QY/iWare.Wms.Application/Service/System/Forms/FormService.cs LA22A07_QY/iWare.Wms.Application/Service/System/Forms/IFormService.cs LA22A07_QY/iWare.Wms.Application/Service/System/Hubs/ChatHub.cs LA22A07_QY/iWare.Wms.Application/Service/System/Hubs/Dto/MessageinputDto.cs LA22A07_QY/iWare.Wms.Application/Service/System/Hubs/IChatClient.cs LA22A07_QY/iWare.Wms.Application/Service/System/LowCode/Dto/ContrasOutput.cs LA22A07_QY/iWare.Wms.Application/Service/System/LowCode/Dto/ContrastLowCode.cs LA22A07_QY/iWare.Wms.Application/Service/System/LowCode/Dto/Front_CodeGenerate.cs LA22A07_QY/iWare.Wms.Application/Service/System/LowCode/Dto/GenEntity.cs LA22A07_QY/iWare.Wms.Application/Service/System/LowCode/Dto/LowCodeInput.cs LA22A07_QY/iWare.Wms.Application/Service/System/LowCode/GenEntityComparer.cs LA22A07_QY/iWare.Wms.Application/Service/System/LowCode/ILowCodeService.cs LA22A07_QY/iWare.Wms.Application/Service/System/LowCode/LowCodeService.cs LA22A07_QY/iWare.Wms.Application/Service/System/Menu/Dto/AntDesignTreeNode.cs LA22A07_QY/iWare.Wms.Application/Service/System/Menu/Dto/MenuInput.cs LA22A07_QY/iWare.Wms.Application/Service/System/Menu/Dto/MenuOutput.cs LA22A07_QY/iWare.Wms.Application/Service/System/Menu/Dto/MenuTreeOutput.cs LA22A07_QY/iWare.Wms.Application/Service/System/Menu/ISysMenuService.cs LA22A07_QY/iWare.Wms.Application/Service/System/Menu/SysMenuService.cs LA22A07_QY/iWare.Wms.Application/Service/System/Message/ISendMessageService.cs LA22A07_QY/iWare.Wms.Application/Service/System/Message/SendMessageService.cs LA22A07_QY/iWare.Wms.Application/Service/System/Monitor/IMachineService.cs LA22A07_QY/iWare.Wms.Application/Service/System/Monitor/MachineService.cs LA22A07_QY/iWare.Wms.Application/Service/System/Notice/Dto/NoticeBase.cs LA22A07_QY/iWare.Wms.Application/Service/System/Notice/Dto/NoticeDetailOutput.cs LA22A07_QY/iWare.Wms.Application/Service/System/Notice/Dto/NoticeInput.cs LA22A07_QY/iWare.Wms.Application/Service/System/Notice/Dto/NoticeReceiveOutput.cs LA22A07_QY/iWare.Wms.Application/Service/System/Notice/ISysNoticeService.cs LA22A07_QY/iWare.Wms.Application/Service/System/Notice/ISysNoticeUserService.cs LA22A07_QY/iWare.Wms.Application/Service/System/Notice/SysNoticeService.cs LA22A07_QY/iWare.Wms.Application/Service/System/Notice/SysNoticeUserService.cs LA22A07_QY/iWare.Wms.Application/Service/System/OnlineUser/Dto/OnlineUserOutput.cs LA22A07_QY/iWare.Wms.Application/Service/System/OnlineUser/ISysOnlineUserService.cs LA22A07_QY/iWare.Wms.Application/Service/System/OnlineUser/SysOnlineUserService.cs LA22A07_QY/iWare.Wms.Application/Service/System/Org/Dto/OrgInput.cs LA22A07_QY/iWare.Wms.Application/Service/System/Org/Dto/OrgOutput.cs LA22A07_QY/iWare.Wms.Application/Service/System/Org/Dto/OrgTreeNode.cs LA22A07_QY/iWare.Wms.Application/Service/System/Org/ISysOrgService.cs LA22A07_QY/iWare.Wms.Application/Service/System/Org/SysOrgService.cs LA22A07_QY/iWare.Wms.Application/Service/System/Pos/Dto/PosInput.cs LA22A07_QY/iWare.Wms.Application/Service/System/Pos/ISysPosService.cs LA22A07_QY/iWare.Wms.Application/Service/System/Pos/SysPosService.cs LA22A07_QY/iWare.Wms.Application/Service/System/Role/Dto/RoleInput.cs LA22A07_QY/iWare.Wms.Application/Service/System/Role/Dto/RoleOutput.cs LA22A07_QY/iWare.Wms.Application/Service/System/Role/ISysRoleDataScopeService.cs LA22A07_QY/iWare.Wms.Application/Service/System/Role/ISysRoleMenuService.cs LA22A07_QY/iWare.Wms.Application/Service/System/Role/ISysRoleService.cs LA22A07_QY/iWare.Wms.Application/Service/System/Role/SysRoleDataScopeService.cs LA22A07_QY/iWare.Wms.Application/Service/System/Role/SysRoleMenuService.cs LA22A07_QY/iWare.Wms.Application/Service/System/Role/SysRoleService.cs LA22A07_QY/iWare.Wms.Application/Service/System/Timer/Dto/JobInput.cs LA22A07_QY/iWare.Wms.Application/Service/System/Timer/Dto/JobOutput.cs LA22A07_QY/iWare.Wms.Application/Service/System/Timer/ISysTimerService.cs LA22A07_QY/iWare.Wms.Application/Service/System/Timer/SysTimerService.cs LA22A07_QY/iWare.Wms.Application/Service/System/User/CurrentUserInfo.cs LA22A07_QY/iWare.Wms.Application/Service/System/User/Dto/AuthToken.cs LA22A07_QY/iWare.Wms.Application/Service/System/User/Dto/AuthUserInput.cs LA22A07_QY/iWare.Wms.Application/Service/System/User/Dto/UserInput.cs LA22A07_QY/iWare.Wms.Application/Service/System/User/Dto/UserOutput.cs LA22A07_QY/iWare.Wms.Application/Service/System/User/ISysUserDataScopeService.cs LA22A07_QY/iWare.Wms.Application/Service/System/User/ISysUserRoleService.cs LA22A07_QY/iWare.Wms.Application/Service/System/User/ISysUserService.cs LA22A07_QY/iWare.Wms.Application/Service/System/User/SysUserDataScopeService.cs LA22A07_QY/iWare.Wms.Application/Service/System/User/SysUserRoleService.cs LA22A07_QY/iWare.Wms.Application/Service/System/User/SysUserService.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WareContainerVsMaterial/Dto/WareContainerVsMaterialDto.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WareContainerVsMaterial/Dto/WareContainerVsMaterialInput.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WareContainerVsMaterial/Dto/WareContainerVsMaterialOutput.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WareContainerVsMaterial/IWareContainerVsMaterialService.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WareContainerVsMaterial/Map/WareContainerVsMaterialMapper.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WareContainerVsMaterial/WareContainerVsMaterialService.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WareSite/Dto/WareSiteDto.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WareSite/Dto/WareSiteInput.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WareSite/Dto/WareSiteOutput.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WareSite/IWareSiteService.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WareSite/Map/WareSiteMapper.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WareSite/WareSiteService.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsArea/Dto/WmsAreaDto.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsArea/Dto/WmsAreaInput.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsArea/Dto/WmsAreaOutput.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsArea/IWmsAreaService.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsArea/Map/WmsAreaMapper.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsArea/WmsAreaService.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsContainer/Dto/WmsContainerDto.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsContainer/Dto/WmsContainerExcel.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsContainer/Dto/WmsContainerInput.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsContainer/Dto/WmsContainerOutput.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsContainer/IWmsContainerService.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsContainer/Map/WmsContainerMapper.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsContainer/WmsContainerService.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsContainerType/Dto/WmsContainerTypeDto.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsContainerType/Dto/WmsContainerTypeInput.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsContainerType/Dto/WmsContainerTypeOutput.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsContainerType/IWmsContainerTypeService.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsContainerType/Map/WmsContainerTypeMapper.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsContainerType/WmsContainerTypeService.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsLocationType/Dto/WmsLocationTypeDto.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsLocationType/Dto/WmsLocationTypeInput.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsLocationType/Dto/WmsLocationTypeOutput.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsLocationType/IWmsLocationTypeService.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsLocationType/Map/WmsLocationTypeMapper.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsLocationType/WmsLocationTypeService.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsMaterial/Dto/WmsMaterialDto.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsMaterial/Dto/WmsMaterialInput.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsMaterial/Dto/WmsMaterialOutput.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsMaterial/IWmsMaterialService.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsMaterial/Map/WmsMaterialMapper.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsMaterial/WmsMaterialService.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsPart/Dto/WarePartOutputDto.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsPart/Dto/WmsPartDto.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsPart/Dto/WmsPartExcel.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsPart/Dto/WmsPartInput.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsPart/Dto/WmsPartOutput.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsPart/IWmsPartService.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsPart/Map/WmsPartMapper.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsPart/WmsPartService.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsPlace/Dto/WmsPlaceDto.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsPlace/Dto/WmsPlaceExcel.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsPlace/Dto/WmsPlaceInput.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsPlace/Dto/WmsPlaceOutput.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsPlace/IWmsPlaceService.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsPlace/Map/WmsPlaceMapper.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsPlace/WmsPlaceService.cs LA22A07_QY/iWare.Wms.Application/Service/WmsBase/WmsSeed/WmsSeed.cs LA22A07_QY/iWare.Wms.Application/Service/WmsCount/ScreenDisplay/Dto/DeviceWarningLaneInput.cs LA22A07_QY/iWare.Wms.Application/Service/WmsCount/ScreenDisplay/Dto/DeviceWarningOutput.cs LA22A07_QY/iWare.Wms.Application/Service/WmsCount/ScreenDisplay/Dto/LocationStatisticsOutput.cs LA22A07_QY/iWare.Wms.Application/Service/WmsCount/ScreenDisplay/Dto/OutTaskOutput.cs LA22A07_QY/iWare.Wms.Application/Service/WmsCount/ScreenDisplay/Dto/PageInputCustomBase.cs LA22A07_QY/iWare.Wms.Application/Service/WmsCount/ScreenDisplay/Dto/PlanExecutionOutput.cs LA22A07_QY/iWare.Wms.Application/Service/WmsCount/ScreenDisplay/Dto/QueryTaskInput.cs LA22A07_QY/iWare.Wms.Application/Service/WmsCount/ScreenDisplay/Dto/SrmCoordinate.cs LA22A07_QY/iWare.Wms.Application/Service/WmsCount/ScreenDisplay/ScreenDisplayService.cs LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WareDeviceWarning/Dto/WareDeviceWarningDto.cs LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WareDeviceWarning/Dto/WareDeviceWarningInput.cs LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WareDeviceWarning/Dto/WareDeviceWarningOutput.cs LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WareDeviceWarning/IWareDeviceWarningService.cs LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WareDeviceWarning/Map/WareDeviceWarningMapper.cs LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WareDeviceWarning/WareDeviceWarningService.cs LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WareFlowRecord/Dto/WareFlowRecordDto.cs LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WareFlowRecord/Dto/WareFlowRecordInput.cs LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WareFlowRecord/Dto/WareFlowRecordOutput.cs LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WareFlowRecord/IWareFlowRecordService.cs LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WareFlowRecord/Map/WareFlowRecordMapper.cs LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WareFlowRecord/WareFlowRecordService.cs LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WareTaskBak/Dto/WareTaskBakDto.cs LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WareTaskBak/Dto/WareTaskBakExcel.cs LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WareTaskBak/Dto/WareTaskBakInput.cs LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WareTaskBak/Dto/WareTaskBakOutput.cs LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WareTaskBak/IWareTaskBakService.cs LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WareTaskBak/Map/WareTaskBakMapper.cs LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WareTaskBak/WareTaskBakService.cs LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WmsAccessDetails/Dto/View_AccessDetailsDto.cs LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WmsAccessDetails/Dto/View_AccessDetailsInput.cs LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WmsAccessDetails/Dto/View_AccessDetailsOutput.cs LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WmsAccessDetails/IView_AccessDetailsService.cs LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WmsAccessDetails/Map/View_AccessDetailsMapper.cs LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WmsAccessDetails/View_AccessDetailsService.cs LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WmsIndex/Dto/IndexInput.cs LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WmsIndex/Dto/IndexOutput.cs LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WmsIndex/IIndexCountService.cs LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WmsIndex/IndexCountService.cs LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WmsLocationView/Dto/InventoryByLocationInput.cs LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WmsLocationView/Dto/InventoryByLocationOutput.cs LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WmsLocationView/Dto/LocationViewInput.cs LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WmsLocationView/Dto/LocationViewOutput.cs LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WmsLocationView/IlocationViewService.cs LA22A07_QY/iWare.Wms.Application/Service/WmsCount/WmsLocationView/locationViewService.cs LA22A07_QY/iWare.Wms.Application/Service/Wmsjob/AgvTask/AgvCallbackService.cs LA22A07_QY/iWare.Wms.Application/Service/Wmsjob/AgvTask/Dto/AgvCallbackInput.cs LA22A07_QY/iWare.Wms.Application/Service/Wmsjob/AgvTask/Dto/AgvCommonResponseDto.cs LA22A07_QY/iWare.Wms.Application/Service/Wmsjob/AgvTask/Dto/AgvWarnCallbackDto.cs LA22A07_QY/iWare.Wms.Application/Service/Wmsjob/WmsBindEntrance/BindEntranceService.cs LA22A07_QY/iWare.Wms.Application/Service/Wmsjob/WmsBindEntrance/Dto/BindEntranceDto.cs LA22A07_QY/iWare.Wms.Application/Service/Wmsjob/WmsBindEntrance/Dto/BindEntranceInput.cs LA22A07_QY/iWare.Wms.Application/Service/Wmsjob/WmsBindEntrance/Dto/BindEntranceOutput.cs LA22A07_QY/iWare.Wms.Application/Service/Wmsjob/WmsBindEntrance/Dto/WmsMaterialContainerDto.cs LA22A07_QY/iWare.Wms.Application/Service/Wmsjob/WmsBindEntrance/IBindEntranceService.cs LA22A07_QY/iWare.Wms.Application/Service/Wmsjob/WmsExWarehouse/Dto/ExWarehouseInput.cs LA22A07_QY/iWare.Wms.Application/Service/Wmsjob/WmsExWarehouse/Dto/WmsMaterialStockDto.cs LA22A07_QY/iWare.Wms.Application/Service/Wmsjob/WmsExWarehouse/Dto/WmsMaterialStockInput.cs LA22A07_QY/iWare.Wms.Application/Service/Wmsjob/WmsExWarehouse/Dto/WmsMaterialStockOutput.cs LA22A07_QY/iWare.Wms.Application/Service/Wmsjob/WmsExWarehouse/ExWarehouseService.cs LA22A07_QY/iWare.Wms.Application/Service/Wmsjob/WmsExWarehouse/IExWarehouseService.cs LA22A07_QY/iWare.Wms.Application/Service/Wmsjob/WmsExWarehouse/Map/WmsMaterialStockMapper.cs LA22A07_QY/iWare.Wms.Application/Service/Wmsjob/WmsTask/Dto/WMSAgvTAskInput.cs LA22A07_QY/iWare.Wms.Application/Service/Wmsjob/WmsTask/Dto/WMSConfirmInput.cs LA22A07_QY/iWare.Wms.Application/Service/Wmsjob/WmsTask/Dto/WmsTaskDto.cs LA22A07_QY/iWare.Wms.Application/Service/Wmsjob/WmsTask/Dto/WmsTaskInput.cs LA22A07_QY/iWare.Wms.Application/Service/Wmsjob/WmsTask/Dto/WmsTaskOutput.cs LA22A07_QY/iWare.Wms.Application/Service/Wmsjob/WmsTask/IWmsTaskService.cs LA22A07_QY/iWare.Wms.Application/Service/Wmsjob/WmsTask/Map/WmsTaskMapper.cs LA22A07_QY/iWare.Wms.Application/Service/Wmsjob/WmsTask/WmsTaskService.cs LA22A07_QY/iWare.Wms.Application/SpareTimes/SpareTimeDemo.cs LA22A07_QY/iWare.Wms.Application/Startup.cs LA22A07_QY/iWare.Wms.Application/applicationsettings.json LA22A07_QY/iWare.Wms.Application/iWare.Wms.Application.csproj LA22A07_QY/iWare.Wms.Application/iWare.Wms.Application.xml LA22A07_QY/iWare.Wms.Core/Const/ClaimConst.cs LA22A07_QY/iWare.Wms.Core/Const/CommonConst.cs LA22A07_QY/iWare.Wms.Core/Entity/DEntityBase.cs LA22A07_QY/iWare.Wms.Core/Entity/IDataPermissions.cs LA22A07_QY/iWare.Wms.Core/Entity/System/SysApp.cs LA22A07_QY/iWare.Wms.Core/Entity/System/SysCodeGen.cs LA22A07_QY/iWare.Wms.Core/Entity/System/SysCodeGenConfig.cs LA22A07_QY/iWare.Wms.Core/Entity/System/SysCodeModular.cs LA22A07_QY/iWare.Wms.Core/Entity/System/SysConfig.cs LA22A07_QY/iWare.Wms.Core/Entity/System/SysDictData.cs LA22A07_QY/iWare.Wms.Core/Entity/System/SysDictType.cs LA22A07_QY/iWare.Wms.Core/Entity/System/SysEmp.cs LA22A07_QY/iWare.Wms.Core/Entity/System/SysEmpExtOrgPos.cs LA22A07_QY/iWare.Wms.Core/Entity/System/SysEmpPos.cs LA22A07_QY/iWare.Wms.Core/Entity/System/SysFile.cs LA22A07_QY/iWare.Wms.Core/Entity/System/SysForm.cs LA22A07_QY/iWare.Wms.Core/Entity/System/SysLogAudit.cs LA22A07_QY/iWare.Wms.Core/Entity/System/SysLogEx.cs LA22A07_QY/iWare.Wms.Core/Entity/System/SysLogOp.cs LA22A07_QY/iWare.Wms.Core/Entity/System/SysLogVis.cs LA22A07_QY/iWare.Wms.Core/Entity/System/SysLowCode.cs LA22A07_QY/iWare.Wms.Core/Entity/System/SysLowCodeDataBase.cs LA22A07_QY/iWare.Wms.Core/Entity/System/SysMenu.cs LA22A07_QY/iWare.Wms.Core/Entity/System/SysNotice.cs LA22A07_QY/iWare.Wms.Core/Entity/System/SysNoticeUser.cs LA22A07_QY/iWare.Wms.Core/Entity/System/SysOnlineUser.cs LA22A07_QY/iWare.Wms.Core/Entity/System/SysOrg.cs LA22A07_QY/iWare.Wms.Core/Entity/System/SysPos.cs LA22A07_QY/iWare.Wms.Core/Entity/System/SysRole.cs LA22A07_QY/iWare.Wms.Core/Entity/System/SysRoleDataScope.cs LA22A07_QY/iWare.Wms.Core/Entity/System/SysRoleMenu.cs LA22A07_QY/iWare.Wms.Core/Entity/System/SysTimer.cs LA22A07_QY/iWare.Wms.Core/Entity/System/SysUser.cs LA22A07_QY/iWare.Wms.Core/Entity/System/SysUserDataScope.cs LA22A07_QY/iWare.Wms.Core/Entity/System/SysUserRole.cs LA22A07_QY/iWare.Wms.Core/Entity/WmsBase/WareDeviceWarning.cs LA22A07_QY/iWare.Wms.Core/Entity/WmsBase/WareFlowRecord.cs LA22A07_QY/iWare.Wms.Core/Entity/WmsBase/WareSite.cs LA22A07_QY/iWare.Wms.Core/Entity/WmsBase/WmsArea.cs LA22A07_QY/iWare.Wms.Core/Entity/WmsBase/WmsContainer.cs LA22A07_QY/iWare.Wms.Core/Entity/WmsBase/WmsContainerType.cs LA22A07_QY/iWare.Wms.Core/Entity/WmsBase/WmsLocationType.cs LA22A07_QY/iWare.Wms.Core/Entity/WmsBase/WmsMaterial.cs LA22A07_QY/iWare.Wms.Core/Entity/WmsBase/WmsPart.cs LA22A07_QY/iWare.Wms.Core/Entity/WmsBase/WmsPlace.cs LA22A07_QY/iWare.Wms.Core/Entity/WmsCount/WmsMaterialStock.cs LA22A07_QY/iWare.Wms.Core/Entity/WmsCount/v_AccessDetails.cs LA22A07_QY/iWare.Wms.Core/Entity/WmsJob/WareContainerVsMaterial.cs LA22A07_QY/iWare.Wms.Core/Entity/WmsJob/WareLocationVsContainer.cs LA22A07_QY/iWare.Wms.Core/Entity/WmsJob/WareTask.cs LA22A07_QY/iWare.Wms.Core/Entity/WmsJob/WareTaskBak.cs LA22A07_QY/iWare.Wms.Core/Entity/WmsJob/WareTaskSub.cs LA22A07_QY/iWare.Wms.Core/Entity/WmsJob/WareTaskSubBak.cs LA22A07_QY/iWare.Wms.Core/Entity/WmsJob/WmsMaterialContainer.cs LA22A07_QY/iWare.Wms.Core/Entity/WmsJob/WmsTask.cs LA22A07_QY/iWare.Wms.Core/Entity/WmsJob/v_empty_location.cs LA22A07_QY/iWare.Wms.Core/Entity/WmsJob/v_ware_inventory_by_container.cs LA22A07_QY/iWare.Wms.Core/Enum/AdminType.cs LA22A07_QY/iWare.Wms.Core/Enum/CommonStatus.cs LA22A07_QY/iWare.Wms.Core/Enum/DataOpType.cs LA22A07_QY/iWare.Wms.Core/Enum/DataScopeType.cs LA22A07_QY/iWare.Wms.Core/Enum/DeepcellNoEnum.cs LA22A07_QY/iWare.Wms.Core/Enum/EnumAuditStatus.cs LA22A07_QY/iWare.Wms.Core/Enum/ErrorCode.cs LA22A07_QY/iWare.Wms.Core/Enum/FileLocation.cs LA22A07_QY/iWare.Wms.Core/Enum/FormDesignType.cs LA22A07_QY/iWare.Wms.Core/Enum/Gender.cs LA22A07_QY/iWare.Wms.Core/Enum/HttpMethod.cs LA22A07_QY/iWare.Wms.Core/Enum/HttpStatusCode.cs LA22A07_QY/iWare.Wms.Core/Enum/LineTypeEnum.cs LA22A07_QY/iWare.Wms.Core/Enum/LoginType.cs LA22A07_QY/iWare.Wms.Core/Enum/MenuOpenType.cs LA22A07_QY/iWare.Wms.Core/Enum/MenuType.cs LA22A07_QY/iWare.Wms.Core/Enum/MenuWeight.cs LA22A07_QY/iWare.Wms.Core/Enum/MessageType.cs LA22A07_QY/iWare.Wms.Core/Enum/MeterialType.cs LA22A07_QY/iWare.Wms.Core/Enum/NoticeStatus.cs LA22A07_QY/iWare.Wms.Core/Enum/NoticeType.cs LA22A07_QY/iWare.Wms.Core/Enum/NoticeUserStatus.cs LA22A07_QY/iWare.Wms.Core/Enum/QueryTypeEnum.cs LA22A07_QY/iWare.Wms.Core/Enum/RequestTypeEnum.cs LA22A07_QY/iWare.Wms.Core/Enum/RoleTypeEnum.cs LA22A07_QY/iWare.Wms.Core/Enum/SiteTypeEnum.cs LA22A07_QY/iWare.Wms.Core/Enum/StockStatusEnum.cs LA22A07_QY/iWare.Wms.Core/Enum/SubTaskStateEnum.cs LA22A07_QY/iWare.Wms.Core/Enum/TaskCategoryEnum.cs LA22A07_QY/iWare.Wms.Core/Enum/TaskStateEnum.cs LA22A07_QY/iWare.Wms.Core/Enum/WmsAreaEnum.cs LA22A07_QY/iWare.Wms.Core/Enum/WmsContainerEnum.cs LA22A07_QY/iWare.Wms.Core/Enum/WmsMaterialEnum.cs LA22A07_QY/iWare.Wms.Core/Enum/WmsTaskEnum.cs LA22A07_QY/iWare.Wms.Core/Enum/YesOrNot.cs LA22A07_QY/iWare.Wms.Core/EventSubscriber/LogEventSubscriber.cs LA22A07_QY/iWare.Wms.Core/Extension/CsRedisExtensions.cs LA22A07_QY/iWare.Wms.Core/Extension/DictionaryExtensions.cs LA22A07_QY/iWare.Wms.Core/Extension/FakeDeleteExtensions.cs LA22A07_QY/iWare.Wms.Core/Extension/LambdaExpressionBuilder.cs LA22A07_QY/iWare.Wms.Core/Extension/NewtonsoftJsonSerializerProvider .cs LA22A07_QY/iWare.Wms.Core/Extension/QueryableExstenstions.cs LA22A07_QY/iWare.Wms.Core/Filter/DisableOpLogAttribute.cs LA22A07_QY/iWare.Wms.Core/Filter/LogExceptionHandler.cs LA22A07_QY/iWare.Wms.Core/Filter/RequestActionFilter.cs LA22A07_QY/iWare.Wms.Core/Helper/ExcelHelper/Excel.cs LA22A07_QY/iWare.Wms.Core/Helper/ExcelHelper/Excel2003Result.cs LA22A07_QY/iWare.Wms.Core/Helper/ExcelHelper/ExcelBaseResult.cs LA22A07_QY/iWare.Wms.Core/Helper/ExcelHelper/ExcelDataOptionAttribute.cs LA22A07_QY/iWare.Wms.Core/Helper/ExcelHelper/ExcelOperation.cs LA22A07_QY/iWare.Wms.Core/Options/RefreshTokenSettingOptions.cs LA22A07_QY/iWare.Wms.Core/SeedData/SysAppSeedData.cs LA22A07_QY/iWare.Wms.Core/SeedData/SysConfigSeedData.cs LA22A07_QY/iWare.Wms.Core/SeedData/SysDictDataSeedData.cs LA22A07_QY/iWare.Wms.Core/SeedData/SysDictTypeSeedData.cs LA22A07_QY/iWare.Wms.Core/SeedData/SysEmpExtOrgPos.cs LA22A07_QY/iWare.Wms.Core/SeedData/SysEmpPosSeedData.cs LA22A07_QY/iWare.Wms.Core/SeedData/SysEmpSeedData.cs LA22A07_QY/iWare.Wms.Core/SeedData/SysMenuSeedData.cs LA22A07_QY/iWare.Wms.Core/SeedData/SysOrgSeedData.cs LA22A07_QY/iWare.Wms.Core/SeedData/SysPosSeedData.cs LA22A07_QY/iWare.Wms.Core/SeedData/SysRoleSeedData.cs LA22A07_QY/iWare.Wms.Core/SeedData/SysTimerSeedData.cs LA22A07_QY/iWare.Wms.Core/SeedData/SysUserDataScopeSeedData.cs LA22A07_QY/iWare.Wms.Core/SeedData/SysUserRoleSeedData.cs LA22A07_QY/iWare.Wms.Core/SeedData/SysUserSeedData.cs LA22A07_QY/iWare.Wms.Core/SeedData/WmsAreaSeedData.cs LA22A07_QY/iWare.Wms.Core/SeedData/WmsContainerSeedData.cs LA22A07_QY/iWare.Wms.Core/SeedData/WmsMaterialSeedData.cs LA22A07_QY/iWare.Wms.Core/SeedData/WmsMaterialStockSeedData.cs LA22A07_QY/iWare.Wms.Core/SeedData/WmsPlaceSeedData.cs LA22A07_QY/iWare.Wms.Core/SeedData/WmsTaskSeedData.cs LA22A07_QY/iWare.Wms.Core/Service/BaseId.cs LA22A07_QY/iWare.Wms.Core/Util/CodeGenUtil.cs LA22A07_QY/iWare.Wms.Core/Util/DataCompareUtil.cs LA22A07_QY/iWare.Wms.Core/Util/DateTimeOffSetToDateTime.cs LA22A07_QY/iWare.Wms.Core/Util/EnumEntity.cs LA22A07_QY/iWare.Wms.Core/Util/EnumUtil.cs LA22A07_QY/iWare.Wms.Core/Util/IPUtil.cs LA22A07_QY/iWare.Wms.Core/Util/JsonUtil.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Dto/Front_FileDto.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Enum/FieldType.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/EssentialFactor.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Factor/DateFactor.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Factor/DecimalFactor.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Factor/Interface/IFactor.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Factor/TextFactor.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Att/FrontTypeAttribute.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Att/FrontTypeBindDatabaseAttribute.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Code/AutoCode_Dynamic.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Code/AutoCode_Front.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Code/AutoCode_FrontModel.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Code/FileUrl_Code.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_Alert.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_Batch.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_Button.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_Card.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_Cascader.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_Checkbox.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_Date.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_Divider.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_Editor.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_Grid.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_Html.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_Input.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_Number.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_Radio.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_Rate.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_Select.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_SelectInputList.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_Slider.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_Switch.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_Table.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_Tabs.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_Text.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_Textarea.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_Time.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_TreeSelect.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_UploadFile.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Front_UploadImg.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Interface/IFront.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Interface/IFrontDynamic.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Interface/IFrontDynamicOptions.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Interface/IFrontLayout.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Model/Front_Base.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Model/Front_Config.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Model/Front_Convert.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Model/Front_Dynamic.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Model/Front_Model.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Model/Front_Option.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Model/Front_Rule.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Model/Front_Tree_Option.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Model/NotFoundFrontException.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/Front/Model/ViewDynamic.cs LA22A07_QY/iWare.Wms.Core/Util/LowCode/SysFileServiceEx.cs LA22A07_QY/iWare.Wms.Core/Util/MachineUtil.cs LA22A07_QY/iWare.Wms.Core/Util/PageInputOrder.cs LA22A07_QY/iWare.Wms.Core/Util/PagedUtil.cs LA22A07_QY/iWare.Wms.Core/Util/ReflectionUtil.cs LA22A07_QY/iWare.Wms.Core/Util/ShellUtil.cs LA22A07_QY/iWare.Wms.Core/Util/TreeBuildUtil.cs LA22A07_QY/iWare.Wms.Core/Util/XnInputBase.cs LA22A07_QY/iWare.Wms.Core/Util/XnPageResult.cs LA22A07_QY/iWare.Wms.Core/Util/XnRestfulResultProvider.cs LA22A07_QY/iWare.Wms.Core/applicationconfig.json LA22A07_QY/iWare.Wms.Core/iWare.Wms.Core.csproj LA22A07_QY/iWare.Wms.Database.Migrations/Migrations/20230419063037_v1.0.1.Designer.cs LA22A07_QY/iWare.Wms.Database.Migrations/Migrations/20230419063037_v1.0.1.cs LA22A07_QY/iWare.Wms.Database.Migrations/Migrations/20230420055601_v1.0.2.Designer.cs LA22A07_QY/iWare.Wms.Database.Migrations/Migrations/20230420055601_v1.0.2.cs LA22A07_QY/iWare.Wms.Database.Migrations/Migrations/20230420070950_v1.0.3.Designer.cs LA22A07_QY/iWare.Wms.Database.Migrations/Migrations/20230420070950_v1.0.3.cs LA22A07_QY/iWare.Wms.Database.Migrations/Migrations/DefaultDbContextModelSnapshot.cs LA22A07_QY/iWare.Wms.Database.Migrations/iWare.Wms.Database.Migrations.csproj LA22A07_QY/iWare.Wms.EntityFramework.Core/DbContexts/DefaultDbContext.cs LA22A07_QY/iWare.Wms.EntityFramework.Core/DbContexts/MultiTenantDbContext.cs LA22A07_QY/iWare.Wms.EntityFramework.Core/Startup.cs LA22A07_QY/iWare.Wms.EntityFramework.Core/dbsettings.json LA22A07_QY/iWare.Wms.EntityFramework.Core/iWare.Wms.EntityFramework.Core.csproj LA22A07_QY/iWare.Wms.Web.Core/Handlers/JwtHandler.cs LA22A07_QY/iWare.Wms.Web.Core/ServiceExtension/BStyleServiceExtension.cs LA22A07_QY/iWare.Wms.Web.Core/ServiceExtension/SnowflakeIdServiceExtension.cs LA22A07_QY/iWare.Wms.Web.Core/Startup.cs LA22A07_QY/iWare.Wms.Web.Core/iWare.Wms.Web.Core.csproj LA22A07_QY/iWare.Wms.Web.Entry/.config/dotnet-tools.json LA22A07_QY/iWare.Wms.Web.Entry/Controllers/HomeController.cs LA22A07_QY/iWare.Wms.Web.Entry/Program.cs LA22A07_QY/iWare.Wms.Web.Entry/Properties/launchSettings.json LA22A07_QY/iWare.Wms.Web.Entry/Views/Home/Index.cshtml LA22A07_QY/iWare.Wms.Web.Entry/Views/Shared/_Layout.cshtml LA22A07_QY/iWare.Wms.Web.Entry/Views/_ViewImports.cshtml LA22A07_QY/iWare.Wms.Web.Entry/Views/_ViewStart.cshtml LA22A07_QY/iWare.Wms.Web.Entry/appsettings.json LA22A07_QY/iWare.Wms.Web.Entry/iWare.Wms.Web.Entry.csproj LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Captcha/Font/font1559.ttf LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Captcha/Image/1.jpg LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Captcha/Image/2.jpg LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Captcha/Image/3.jpg LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Captcha/Image/4.jpg LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Captcha/Image/5.jpg LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Captcha/Image/6.jpg LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Captcha/Image/7.jpg LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Captcha/Image/8.jpg LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Image/logo.png LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Template.zip LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Template/Dto.cs.cshtml LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Template/Dto.cs.vm LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Template/Entity.cs.cshtml LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Template/Entity.cs.vm LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Template/IService.cs.cshtml LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Template/IService.cs.vm LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Template/Input.cs.cshtml LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Template/Input.cs.vm LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Template/Manage.js.cshtml LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Template/Manage.js.vm LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Template/Mapper.cs.cshtml LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Template/Mapper.cs.vm LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Template/Output.cs.cshtml LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Template/Output.cs.vm LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Template/Service.cs.cshtml LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Template/Service.cs.vm LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Template/addForm.vue.cshtml LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Template/addForm.vue.vm LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Template/editForm.vue.cshtml LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Template/editForm.vue.vm LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Template/index.vue.cshtml LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Template/index.vue.vm LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Upload/Default/273667564548165.jpeg LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Upload/Default/290520762908741.jpg LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Upload/Default/290540885852229.jpg LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Upload/Default/290541680373829.jpg LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Upload/Default/290541696553029.jpg LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Upload/Default/290541720457285.jpg LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Upload/Default/290543139135557.jpg LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Upload/Default/290543159849029.jpg LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Upload/Default/290543276712005.jpg LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Upload/Default/290543306960965.jpg LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Upload/Default/290543630598213.jpg LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Upload/Default/290543643689029.jpg LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Upload/Default/290544533905477.jpg LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Upload/Default/290544557092933.jpg LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Upload/Default/351604299395141.jpg LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Upload/Default/352893017190469.jpg LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/Upload/Default/352918594232389.jpg LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/avatar2.jpg LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/css/app.7633af46.css LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/css/app.7633af46.css.gz LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/css/chunk-b7a16696.677134ab.css LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/css/chunk-b7a16696.677134ab.css.gz LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/css/chunk-vendors.4659697d.css LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/css/chunk-vendors.4659697d.css.gz LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/css/fail.8d6df989.css LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/css/fail.8d6df989.css.gz LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/css/site.css LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/css/theme-colors-ef7df4e0.css LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/css/user.fa7ae686.css LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/css/user.fa7ae686.css.gz LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/favicon.ico LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/img/bg.110420cf.png LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/img/logo.a0cbaad2.png LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/img/map.3425b845.jpg LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/img/map.ae82c867.png LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/img/map2.48889afd.png LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/img/welcome.164ddad4.png LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/index.html LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/js/app.413ecdbc.js LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/js/app.413ecdbc.js.gz LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/js/chunk-b7a16696.e8717d8b.js LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/js/chunk-b7a16696.e8717d8b.js.gz LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/js/chunk-vendors.c9111d8d.js LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/js/chunk-vendors.c9111d8d.js.gz LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/js/fail.c1daacfd.js LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/js/fail.c1daacfd.js.gz LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/js/site.js LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/js/user.6ca40864.js LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/js/user.6ca40864.js.gz LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/LICENSE LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css.map LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css.map LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.css LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.css.map LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.min.css LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.min.css.map LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css.map LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.min.css LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.min.css.map LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.css LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.css.map LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.min.css LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.min.css.map LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.css LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.css.map LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.min.css LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.min.css.map LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.css LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.css.map LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.min.css LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.min.css.map LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap.css LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap.css.map LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css.map LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.css LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.css.map LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.min.css LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.min.css.map LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js.map LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js.map LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.js LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.js.map LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.min.js LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.min.js.map LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/js/bootstrap.js LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/js/bootstrap.js.map LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js.map LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/jquery-validation-unobtrusive/LICENSE.txt LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/jquery-validation/LICENSE.md LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/jquery-validation/dist/additional-methods.js LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/jquery-validation/dist/additional-methods.min.js LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/jquery-validation/dist/jquery.validate.js LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/jquery-validation/dist/jquery.validate.min.js LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/jquery/LICENSE.txt LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/jquery/dist/jquery.js LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/jquery/dist/jquery.min.js LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/lib/jquery/dist/jquery.min.map LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/loading/loading.css LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/loading/loading.html LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/loading/option2/html_code_segment.html LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/loading/option2/loading.css LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/loading/option2/loading.svg LA22A07_QY/iWare.Wms.Web.Entry/wwwroot/logo.png LA22A07_Screen/.vscode/extensions.json LA22A07_Screen/README.md LA22A07_Screen/dist/assets/Screen1.3165b730.js LA22A07_Screen/dist/assets/Screen1.af811640.css LA22A07_Screen/dist/assets/Screen3.68482974.js LA22A07_Screen/dist/assets/Screen3.ef42553b.css LA22A07_Screen/dist/assets/bg.0b1d8907.jpg LA22A07_Screen/dist/assets/fonts/element-icons.ttf LA22A07_Screen/dist/assets/fonts/element-icons.woff LA22A07_Screen/dist/assets/head_bg.0e5deb14.png LA22A07_Screen/dist/assets/header3.d326a2af.png LA22A07_Screen/dist/assets/iconfont.31c70f5b.woff LA22A07_Screen/dist/assets/iconfont.e1350bca.ttf LA22A07_Screen/dist/assets/index.b5faa898.css LA22A07_Screen/dist/assets/index.d17f1add.js LA22A07_Screen/dist/assets/index.f473c350.js LA22A07_Screen/dist/assets/shelves_normal.7e1d90d3.png LA22A07_Screen/dist/assets/shelves_normal2.bcf1a674.png LA22A07_Screen/dist/assets/yejing.2a87918f.TTF LA22A07_Screen/dist/config.js LA22A07_Screen/dist/favicon.png LA22A07_Screen/dist/fonts/element-icons.ttf LA22A07_Screen/dist/fonts/element-icons.woff LA22A07_Screen/dist/index.html LA22A07_Screen/index.html LA22A07_Screen/package-lock.json LA22A07_Screen/package.json LA22A07_Screen/public/assets/fonts/element-icons.ttf LA22A07_Screen/public/assets/fonts/element-icons.woff LA22A07_Screen/public/config.js LA22A07_Screen/public/favicon.png LA22A07_Screen/public/fonts/element-icons.ttf LA22A07_Screen/public/fonts/element-icons.woff LA22A07_Screen/src/App.vue LA22A07_Screen/src/assets/fonts/iconfont.css LA22A07_Screen/src/assets/fonts/iconfont.js LA22A07_Screen/src/assets/fonts/iconfont.json LA22A07_Screen/src/assets/fonts/iconfont.ttf LA22A07_Screen/src/assets/fonts/iconfont.woff LA22A07_Screen/src/assets/fonts/iconfont.woff2 LA22A07_Screen/src/assets/fonts/yejing.TTF LA22A07_Screen/src/assets/images/bg.jpg LA22A07_Screen/src/assets/images/bg01.png LA22A07_Screen/src/assets/images/bg02.png LA22A07_Screen/src/assets/images/ck1.png LA22A07_Screen/src/assets/images/ck2.png LA22A07_Screen/src/assets/images/ck3.png LA22A07_Screen/src/assets/images/ck4.png LA22A07_Screen/src/assets/images/ck5.png LA22A07_Screen/src/assets/images/down.png LA22A07_Screen/src/assets/images/head_bg.png LA22A07_Screen/src/assets/images/icon1.png LA22A07_Screen/src/assets/images/icon2.png LA22A07_Screen/src/assets/images/icon3.png LA22A07_Screen/src/assets/images/icon4.png LA22A07_Screen/src/assets/images/icon5.png LA22A07_Screen/src/assets/images/icon6.png LA22A07_Screen/src/assets/images/icon7.png LA22A07_Screen/src/assets/images/icon8.png LA22A07_Screen/src/assets/images/icon9.png LA22A07_Screen/src/assets/images/loading.gif LA22A07_Screen/src/assets/images/pk.png LA22A07_Screen/src/assets/images/tp1.png LA22A07_Screen/src/assets/images/up.png LA22A07_Screen/src/assets/img/screen/center/machine_abnormal.png LA22A07_Screen/src/assets/img/screen/center/machine_green.png LA22A07_Screen/src/assets/img/screen/center/machine_normal.png LA22A07_Screen/src/assets/img/screen/center/machine_track_normal.png LA22A07_Screen/src/assets/img/screen/center/rate_box.png LA22A07_Screen/src/assets/img/screen/center/rgv_abnormal.png LA22A07_Screen/src/assets/img/screen/center/rgv_green.png LA22A07_Screen/src/assets/img/screen/center/rgv_normal.png LA22A07_Screen/src/assets/img/screen/center/rgv_track_normal.png LA22A07_Screen/src/assets/img/screen/center/shelves_normal.png LA22A07_Screen/src/assets/img/screen/center/shelves_normal2.png LA22A07_Screen/src/assets/img/screen/center/备份.png LA22A07_Screen/src/assets/img/screen/header1.png LA22A07_Screen/src/assets/img/screen/header3.png LA22A07_Screen/src/assets/img/screen/title-line.png LA22A07_Screen/src/assets/img/screen/title-tag.png LA22A07_Screen/src/assets/js/utils/index.js LA22A07_Screen/src/assets/js/utils/modules/color.js LA22A07_Screen/src/assets/js/utils/modules/eleResize.js LA22A07_Screen/src/assets/js/utils/modules/project.js LA22A07_Screen/src/assets/js/utils/modules/regexValidate.js LA22A07_Screen/src/assets/style/base.css LA22A07_Screen/src/assets/style/comon0.css LA22A07_Screen/src/assets/style/reset.css LA22A07_Screen/src/assets/style/style-vars.scss LA22A07_Screen/src/components/AutoScroll.vue LA22A07_Screen/src/components/DropdownMenu.vue LA22A07_Screen/src/components/Pannel1.vue LA22A07_Screen/src/components/SearchBar.vue LA22A07_Screen/src/components/UploadButton.vue LA22A07_Screen/src/config/index.js LA22A07_Screen/src/config/lang/en.json LA22A07_Screen/src/config/lang/index.js LA22A07_Screen/src/config/lang/zh_CN.json LA22A07_Screen/src/config/modules/ajax.js LA22A07_Screen/src/config/modules/pagination.js LA22A07_Screen/src/main.js LA22A07_Screen/src/pages/NotFound.vue LA22A07_Screen/src/pages/archives/carriers/Index.vue LA22A07_Screen/src/pages/archives/carriers/compontents/ChooseModal.vue LA22A07_Screen/src/pages/archives/carriers/compontents/FormModal.vue LA22A07_Screen/src/pages/archives/goods/Index.vue LA22A07_Screen/src/pages/archives/goods/compontents/ChooseModal.vue LA22A07_Screen/src/pages/archives/goods/compontents/FormModal.vue LA22A07_Screen/src/pages/home/Index.vue LA22A07_Screen/src/pages/home/compontents/ModelEDetailModal.vue LA22A07_Screen/src/pages/home/compontents/ModuleA.vue LA22A07_Screen/src/pages/home/compontents/ModuleB.vue LA22A07_Screen/src/pages/home/compontents/ModuleC.vue LA22A07_Screen/src/pages/home/compontents/ModuleD.vue LA22A07_Screen/src/pages/home/compontents/ModuleE.vue LA22A07_Screen/src/pages/layout/Index.vue LA22A07_Screen/src/pages/layout/compontents/Header.vue LA22A07_Screen/src/pages/layout/compontents/LeftAside.vue LA22A07_Screen/src/pages/layout/compontents/SubContainter.vue LA22A07_Screen/src/pages/layout/compontents/SubMenus.vue LA22A07_Screen/src/pages/layout/compontents/Tabs.vue LA22A07_Screen/src/pages/layout/compontents/Title.vue LA22A07_Screen/src/pages/login/Index.vue LA22A07_Screen/src/pages/login/components/Form.vue LA22A07_Screen/src/pages/screen/Screen1.vue LA22A07_Screen/src/pages/screen/Screen2.vue LA22A07_Screen/src/pages/screen/Screen3.vue LA22A07_Screen/src/pages/screen/Screen4.vue LA22A07_Screen/src/pages/screen/components/BlockTitle.vue LA22A07_Screen/src/pages/screen/components/Center.vue LA22A07_Screen/src/pages/screen/components/Header.vue LA22A07_Screen/src/pages/screen/components/Inputs.vue LA22A07_Screen/src/pages/screen/components/Outputs.vue LA22A07_Screen/src/pages/screen/components/PlanWarnings.vue LA22A07_Screen/src/pages/screen/components/Plans.vue LA22A07_Screen/src/pages/screen/components/Stock.vue LA22A07_Screen/src/pages/screen/components/TableInfo.vue LA22A07_Screen/src/pages/screen/components/TableTask.vue LA22A07_Screen/src/pages/screen/components/Warnings.vue LA22A07_Screen/src/pages/screen/home.vue LA22A07_Screen/src/pages/statistics/agv/Index.vue LA22A07_Screen/src/pages/statistics/eqpErrs/Index.vue LA22A07_Screen/src/pages/statistics/equipments/Index.vue LA22A07_Screen/src/pages/statistics/equipments/compontents/ChangeStatusModal.vue LA22A07_Screen/src/pages/statistics/equipments/compontents/ModuleA.vue LA22A07_Screen/src/pages/statistics/equipments/compontents/ModuleB.vue LA22A07_Screen/src/pages/statistics/equipments/compontents/ModuleC.vue LA22A07_Screen/src/pages/statistics/inout/Index.vue LA22A07_Screen/src/pages/statistics/inout/components/CarriersIndex.vue LA22A07_Screen/src/pages/statistics/inout/components/GoodsIndex.vue LA22A07_Screen/src/pages/statistics/inventory/Index.vue LA22A07_Screen/src/pages/statistics/inventory/components/Choose.vue LA22A07_Screen/src/pages/statistics/inventory/components/OrderChoose.vue LA22A07_Screen/src/pages/statistics/outPlan/Index.vue LA22A07_Screen/src/pages/statistics/overdue/index.vue LA22A07_Screen/src/pages/statistics/storeLocation/Index.vue LA22A07_Screen/src/pages/statistics/virtualInOut/Index.vue LA22A07_Screen/src/pages/statistics/virtualInventory/Index.vue LA22A07_Screen/src/pages/system/dictionaries/Index.vue LA22A07_Screen/src/pages/system/dictionaries/compontents/DataFormModal.vue LA22A07_Screen/src/pages/system/dictionaries/compontents/FormModal.vue LA22A07_Screen/src/pages/system/orderNo/Index.vue LA22A07_Screen/src/pages/system/orderNo/compontents/Action.vue LA22A07_Screen/src/pages/system/orderNo/compontents/AllHistory.vue LA22A07_Screen/src/pages/system/orderNo/compontents/FormModal.vue LA22A07_Screen/src/pages/system/orderNo/compontents/HistoryModal.vue LA22A07_Screen/src/pages/system/permissions/Index.vue LA22A07_Screen/src/pages/system/permissions/compontents/FormModal.vue LA22A07_Screen/src/pages/system/roles/Index.vue LA22A07_Screen/src/pages/system/roles/compontents/AuthorityModal.vue LA22A07_Screen/src/pages/system/roles/compontents/FormModal.vue LA22A07_Screen/src/pages/system/special/Index.vue LA22A07_Screen/src/pages/system/special/components/NewModal.vue LA22A07_Screen/src/pages/system/users/Index.vue LA22A07_Screen/src/pages/system/users/compontents/FormModal.vue LA22A07_Screen/src/pages/system/users/compontents/ModifyMyPassword.vue LA22A07_Screen/src/pages/tasks/carriersInput/Index.vue LA22A07_Screen/src/pages/tasks/carriersInput/compontents/AddFormModal.vue LA22A07_Screen/src/pages/tasks/carriresOutput/Index.vue LA22A07_Screen/src/pages/tasks/carriresOutput/compontents/NewModal.vue LA22A07_Screen/src/pages/tasks/input/Index.vue LA22A07_Screen/src/pages/tasks/input/compontents/AddFormModal.vue LA22A07_Screen/src/pages/tasks/output/Index.vue LA22A07_Screen/src/pages/tasks/output/compontents/NewModal.vue LA22A07_Screen/src/pages/tasks/output/compontents/SequenceModal.vue LA22A07_Screen/src/pages/tasks/outputPlan/Index.vue LA22A07_Screen/src/pages/tasks/outputPlan/compontents/CheckModal.vue LA22A07_Screen/src/pages/tasks/outputPlan/compontents/FormModal.vue LA22A07_Screen/src/pages/tasks/virtualInput/Index.vue LA22A07_Screen/src/pages/tasks/virtualInput/compontents/AddFormModal.vue LA22A07_Screen/src/pages/tasks/virtualOutput/Index.vue LA22A07_Screen/src/pages/tasks/virtualOutput/compontents/NewModal.vue LA22A07_Screen/src/pages/test.vue LA22A07_Screen/src/service/ajax/index.js LA22A07_Screen/src/service/ajax/modules/beforeSend.js LA22A07_Screen/src/service/i18n.js LA22A07_Screen/src/service/router/index.js LA22A07_Screen/src/service/store/index.js LA22A07_Screen/src/service/store/modules/system.js LA22A07_Screen/src/service/store/modules/user.js LA22A07_Screen/src/theme/theme-default.scss LA22A07_Screen/src/theme/theme-green.scss LA22A07_Screen/src/utils/cache.ts LA22A07_Screen/vite.config.js LA22A07_WCS/DLL/HslCommunication.dll LA22A07_WCS/DLL/HslCommunication.xml LA22A07_WCS/LA22A07.Wcs.sln LA22A07_WCS/ServiceClient/App.config LA22A07_WCS/ServiceClient/ConfigCommon.cs LA22A07_WCS/ServiceClient/Program.cs LA22A07_WCS/ServiceClient/Properties/AssemblyInfo.cs LA22A07_WCS/ServiceClient/Properties/Resources.Designer.cs LA22A07_WCS/ServiceClient/Properties/Resources.resx LA22A07_WCS/ServiceClient/Properties/Settings.Designer.cs LA22A07_WCS/ServiceClient/Properties/Settings.settings LA22A07_WCS/ServiceClient/Service.ico LA22A07_WCS/ServiceClient/ServiceClient.cs LA22A07_WCS/ServiceClient/ServiceClient.csproj LA22A07_WCS/ServiceClient/ServiceClient.designer.cs LA22A07_WCS/ServiceClient/ServiceClient.resx LA22A07_WCS/ServiceClient/ServiceSection.cs LA22A07_WCS/ServiceClient/Windows.cs LA22A07_WCS/Services/DeleteTaskService/Program.cs LA22A07_WCS/Services/DeleteTaskService/ProjectInstaller.Designer.cs LA22A07_WCS/Services/DeleteTaskService/ProjectInstaller.cs LA22A07_WCS/Services/DeleteTaskService/ProjectInstaller.resx LA22A07_WCS/Services/DeleteTaskService/Properties/AssemblyInfo.cs LA22A07_WCS/Services/DeleteTaskService/app.config LA22A07_WCS/Services/DeleteTaskService/iWareDeleteTaskService.Designer.cs LA22A07_WCS/Services/DeleteTaskService/iWareDeleteTaskService.cs LA22A07_WCS/Services/DeleteTaskService/iWareDeleteTaskService.csproj LA22A07_WCS/Services/DeleteTaskService/iWareDeleteTaskService.resx LA22A07_WCS/Services/DeleteTaskService/packages.config LA22A07_WCS/Services/PastDueService/Program.cs LA22A07_WCS/Services/PastDueService/ProjectInstaller.Designer.cs LA22A07_WCS/Services/PastDueService/ProjectInstaller.cs LA22A07_WCS/Services/PastDueService/ProjectInstaller.resx LA22A07_WCS/Services/PastDueService/Properties/AssemblyInfo.cs LA22A07_WCS/Services/PastDueService/app.config LA22A07_WCS/Services/PastDueService/iWarePastDueService.Designer.cs LA22A07_WCS/Services/PastDueService/iWarePastDueService.cs LA22A07_WCS/Services/PastDueService/iWarePastDueService.csproj LA22A07_WCS/Services/PastDueService/iWarePastDueService.resx LA22A07_WCS/Services/PastDueService/packages.config LA22A07_WCS/iWareCC_ASRS/App.config LA22A07_WCS/iWareCC_ASRS/BLL/ConveyorBLL.cs LA22A07_WCS/iWareCC_ASRS/BLL/MesBLL.cs LA22A07_WCS/iWareCC_ASRS/BLL/RgvBLL.cs LA22A07_WCS/iWareCC_ASRS/BLL/SrmBLL.cs LA22A07_WCS/iWareCC_ASRS/Common/DeviceDict.cs LA22A07_WCS/iWareCC_ASRS/Common/Helper/ControlHelper.cs LA22A07_WCS/iWareCC_ASRS/Common/Helper/FormHelper.cs LA22A07_WCS/iWareCC_ASRS/Common/Helper/MyExtendHelper.cs LA22A07_WCS/iWareCC_ASRS/Common/MyMesService.cs LA22A07_WCS/iWareCC_ASRS/Common/SystemValue.cs LA22A07_WCS/iWareCC_ASRS/Common/SystemValueUtil.cs LA22A07_WCS/iWareCC_ASRS/Common/SystemWarningMsg.cs LA22A07_WCS/iWareCC_ASRS/Connected Services/ConveyorService/Reference.cs LA22A07_WCS/iWareCC_ASRS/Connected Services/ConveyorService/Reference.svcmap LA22A07_WCS/iWareCC_ASRS/Connected Services/ConveyorService/configuration.svcinfo LA22A07_WCS/iWareCC_ASRS/Connected Services/ConveyorService/configuration91.svcinfo LA22A07_WCS/iWareCC_ASRS/Connected Services/ConveyorService/iWareCC.ConveyorService.ConveyerView.datasource LA22A07_WCS/iWareCC_ASRS/Connected Services/ConveyorService/iWareCC.ConveyorService.SdaResEntity.datasource LA22A07_WCS/iWareCC_ASRS/Connected Services/ConveyorService/iWareSda.Devices._3_Conveyer.ConveyerModel.xsd LA22A07_WCS/iWareCC_ASRS/Connected Services/ConveyorService/iWareSda.Model.xsd LA22A07_WCS/iWareCC_ASRS/Connected Services/ConveyorService/iWareSda.xsd LA22A07_WCS/iWareCC_ASRS/Connected Services/ConveyorService/service.wsdl LA22A07_WCS/iWareCC_ASRS/Connected Services/ConveyorService/service.xsd LA22A07_WCS/iWareCC_ASRS/Connected Services/ConveyorService/service1.xsd LA22A07_WCS/iWareCC_ASRS/Connected Services/RgvService/Reference.cs LA22A07_WCS/iWareCC_ASRS/Connected Services/RgvService/Reference.svcmap LA22A07_WCS/iWareCC_ASRS/Connected Services/RgvService/configuration.svcinfo LA22A07_WCS/iWareCC_ASRS/Connected Services/RgvService/configuration91.svcinfo LA22A07_WCS/iWareCC_ASRS/Connected Services/RgvService/iWareCC.RgvService.RgvView.datasource LA22A07_WCS/iWareCC_ASRS/Connected Services/RgvService/iWareCC.RgvService.SdaResEntity.datasource LA22A07_WCS/iWareCC_ASRS/Connected Services/RgvService/iWareSda.Devices._3_Rgv.RgvModel1.xsd LA22A07_WCS/iWareCC_ASRS/Connected Services/RgvService/iWareSda.Model1.xsd LA22A07_WCS/iWareCC_ASRS/Connected Services/RgvService/iWareSda1.xsd LA22A07_WCS/iWareCC_ASRS/Connected Services/RgvService/service.wsdl LA22A07_WCS/iWareCC_ASRS/Connected Services/RgvService/service.xsd LA22A07_WCS/iWareCC_ASRS/Connected Services/RgvService/service1.xsd LA22A07_WCS/iWareCC_ASRS/Connected Services/SrmService/Reference.cs LA22A07_WCS/iWareCC_ASRS/Connected Services/SrmService/Reference.svcmap LA22A07_WCS/iWareCC_ASRS/Connected Services/SrmService/configuration.svcinfo LA22A07_WCS/iWareCC_ASRS/Connected Services/SrmService/configuration91.svcinfo LA22A07_WCS/iWareCC_ASRS/Connected Services/SrmService/iWareCC.SrmService.IsAllowSendTaskResponse.datasource LA22A07_WCS/iWareCC_ASRS/Connected Services/SrmService/iWareCC.SrmService.IsReadyResponse.datasource LA22A07_WCS/iWareCC_ASRS/Connected Services/SrmService/iWareCC.SrmService.SdaResEntity.datasource LA22A07_WCS/iWareCC_ASRS/Connected Services/SrmService/iWareCC.SrmService.SrmEntity.datasource LA22A07_WCS/iWareCC_ASRS/Connected Services/SrmService/iWareCC.SrmService.SrmView.datasource LA22A07_WCS/iWareCC_ASRS/Connected Services/SrmService/iWareSda.SrmService.SrmEntity1.xsd LA22A07_WCS/iWareCC_ASRS/Connected Services/SrmService/service1.wsdl LA22A07_WCS/iWareCC_ASRS/Connected Services/SrmService/service1.xsd LA22A07_WCS/iWareCC_ASRS/Connected Services/SrmService/service11.wsdl LA22A07_WCS/iWareCC_ASRS/Connected Services/SrmService/service2.xsd LA22A07_WCS/iWareCC_ASRS/Connected Services/SrmService/service21.xsd LA22A07_WCS/iWareCC_ASRS/DeviceThreadFactory/DeviceThreadService/AGVThreadService/AGVThreadService.cs LA22A07_WCS/iWareCC_ASRS/DeviceThreadFactory/DeviceThreadService/ConveyorThreadService/ConveyorThreadService.cs LA22A07_WCS/iWareCC_ASRS/DeviceThreadFactory/DeviceThreadService/RgvThreadService/RgvTaskThreadService.cs LA22A07_WCS/iWareCC_ASRS/DeviceThreadFactory/DeviceThreadService/SrmThreadService/SrmTaskThreadService.cs LA22A07_WCS/iWareCC_ASRS/DeviceThreadFactory/DeviceThreadServiceFactory.cs LA22A07_WCS/iWareCC_ASRS/DeviceThreadFactory/DeviceThreadServiceHandle.cs LA22A07_WCS/iWareCC_ASRS/FormCC.Designer.cs LA22A07_WCS/iWareCC_ASRS/FormCC.cs LA22A07_WCS/iWareCC_ASRS/FormCC.resx LA22A07_WCS/iWareCC_ASRS/Forms/SrmStockForm.Designer.cs LA22A07_WCS/iWareCC_ASRS/Forms/SrmStockForm.cs LA22A07_WCS/iWareCC_ASRS/Forms/SrmStockForm.resx LA22A07_WCS/iWareCC_ASRS/Forms/SystemCheckForm.Designer.cs LA22A07_WCS/iWareCC_ASRS/Forms/SystemCheckForm.cs LA22A07_WCS/iWareCC_ASRS/Forms/SystemCheckForm.resx LA22A07_WCS/iWareCC_ASRS/IwareICO.ico LA22A07_WCS/iWareCC_ASRS/Logo.ico LA22A07_WCS/iWareCC_ASRS/Program.cs LA22A07_WCS/iWareCC_ASRS/Properties/AssemblyInfo.cs LA22A07_WCS/iWareCC_ASRS/Properties/Resources.Designer.cs LA22A07_WCS/iWareCC_ASRS/Properties/Resources.resx LA22A07_WCS/iWareCC_ASRS/Properties/Settings.Designer.cs LA22A07_WCS/iWareCC_ASRS/Properties/Settings.settings LA22A07_WCS/iWareCC_ASRS/Resources/穿梭子母车(彩色).jpg LA22A07_WCS/iWareCC_ASRS/Resources/穿梭母车1.jpg LA22A07_WCS/iWareCC_ASRS/WCF/CCWcfService.cs LA22A07_WCS/iWareCC_ASRS/WCF/ICCWcfService.cs LA22A07_WCS/iWareCC_ASRS/WmsTask/MainTaskCompleteHandle.cs LA22A07_WCS/iWareCC_ASRS/WmsTask/MainTaskDecompose.cs LA22A07_WCS/iWareCC_ASRS/WmsTask/MoveTaskHandle.cs LA22A07_WCS/iWareCC_ASRS/WmsTask/ScanContainerCode.cs LA22A07_WCS/iWareCC_ASRS/iWareCC.csproj LA22A07_WCS/iWareCommon/BusinessHelper/BusinessHelper.cs LA22A07_WCS/iWareCommon/BusinessHelper/WCSConfigHelper.cs LA22A07_WCS/iWareCommon/Common/Dao/CommonDao.cs LA22A07_WCS/iWareCommon/Common/Dao/_system~.ini LA22A07_WCS/iWareCommon/Common/Globle/SysGloble.cs LA22A07_WCS/iWareCommon/Common/ParamEntity/AddMainTaskPostParam.cs LA22A07_WCS/iWareCommon/Common/Service/CommonService.cs LA22A07_WCS/iWareCommon/Common/Service/_system~.ini LA22A07_WCS/iWareCommon/Common/ServiceEntity/Conveyor/ConveyorEntity/Conveyor_CacheEntity.cs LA22A07_WCS/iWareCommon/Common/ServiceEntity/Conveyor/ConveyorEntity/SrmConveyorEntity.cs LA22A07_WCS/iWareCommon/Common/ServiceEntity/Conveyor/ConveyorEntity/SrmConveyorStationEntity.cs LA22A07_WCS/iWareCommon/Common/ServiceEntity/Conveyor/ConveyorEntity/SrmConveyor_DB.cs LA22A07_WCS/iWareCommon/Common/ServiceEntity/Conveyor/ConveyorEnumType/ESrmConveyorAlarm.cs LA22A07_WCS/iWareCommon/Common/ServiceEntity/Srm/SrmEntity/CacheEntity.cs LA22A07_WCS/iWareCommon/Common/ServiceEntity/Srm/SrmEntity/Srm1_DB.cs LA22A07_WCS/iWareCommon/Common/ServiceEntity/Srm/SrmEntity/Srm2_DB.cs LA22A07_WCS/iWareCommon/Common/ServiceEntity/Srm/SrmEntity/SrmEntity.cs LA22A07_WCS/iWareCommon/Common/ServiceEntity/Srm/SrmEntity/SrmInfo.cs LA22A07_WCS/iWareCommon/Common/ServiceEntity/Srm/SrmEntity/Srm_CacheEntity.cs LA22A07_WCS/iWareCommon/Common/ServiceEntity/Srm/SrmEnumType/ESrmAlarm.cs LA22A07_WCS/iWareCommon/Common/ServiceEntity/Srm/SrmEnumType/ESrmCmd.cs LA22A07_WCS/iWareCommon/Common/ServiceEntity/Srm/SrmEnumType/ESrmState.cs LA22A07_WCS/iWareCommon/DLL/Castle.Core.dll LA22A07_WCS/iWareCommon/DLL/Castle.Core.xml LA22A07_WCS/iWareCommon/DLL/Common.Logging.Core.dll LA22A07_WCS/iWareCommon/DLL/Common.Logging.Core.xml LA22A07_WCS/iWareCommon/DLL/Common.Logging.Log4Net1213.dll LA22A07_WCS/iWareCommon/DLL/Common.Logging.Log4Net1213.xml LA22A07_WCS/iWareCommon/DLL/Common.Logging.dll LA22A07_WCS/iWareCommon/DLL/Common.Logging.xml LA22A07_WCS/iWareCommon/DLL/EntityFramework.SqlServer.dll LA22A07_WCS/iWareCommon/DLL/EntityFramework.dll LA22A07_WCS/iWareCommon/DLL/Interop.OPCAutomation.dll LA22A07_WCS/iWareCommon/DLL/Newtonsoft.Json.dll LA22A07_WCS/iWareCommon/DLL/Newtonsoft.Json.xml LA22A07_WCS/iWareCommon/DLL/OpcAccess.dll LA22A07_WCS/iWareCommon/DLL/Pager.XML LA22A07_WCS/iWareCommon/DLL/Pager.dll LA22A07_WCS/iWareCommon/DLL/TwinCAT.Ads.dll LA22A07_WCS/iWareCommon/DLL/TwinCatAdsAccess.dll LA22A07_WCS/iWareCommon/DLL/WZ.Useful.Commons.dll LA22A07_WCS/iWareCommon/DLL/log4net.dll LA22A07_WCS/iWareCommon/DLL/log4net.xml LA22A07_WCS/iWareCommon/Properties/AssemblyInfo.cs LA22A07_WCS/iWareCommon/Properties/Resources.Designer.cs LA22A07_WCS/iWareCommon/Properties/Resources.resx LA22A07_WCS/iWareCommon/Utils/AutoSizeFormClass.cs LA22A07_WCS/iWareCommon/Utils/Base64Helper.cs LA22A07_WCS/iWareCommon/Utils/CSharpHelper.cs LA22A07_WCS/iWareCommon/Utils/ClassHelper.cs LA22A07_WCS/iWareCommon/Utils/ComboBoxHelper.cs LA22A07_WCS/iWareCommon/Utils/ConfigHelper.cs LA22A07_WCS/iWareCommon/Utils/DESHelper.cs LA22A07_WCS/iWareCommon/Utils/DataCache.cs LA22A07_WCS/iWareCommon/Utils/DataTableHelper.cs LA22A07_WCS/iWareCommon/Utils/DateTimeHelper.cs LA22A07_WCS/iWareCommon/Utils/EntityPropHelper.cs LA22A07_WCS/iWareCommon/Utils/EnumberHelper.cs LA22A07_WCS/iWareCommon/Utils/ExcelHelper.cs LA22A07_WCS/iWareCommon/Utils/FileHelper.cs LA22A07_WCS/iWareCommon/Utils/FolderHelper.cs LA22A07_WCS/iWareCommon/Utils/HTTP/HTTPService.cs LA22A07_WCS/iWareCommon/Utils/HTTP/HttpHelper.cs LA22A07_WCS/iWareCommon/Utils/HTTP/SSLUtil.cs LA22A07_WCS/iWareCommon/Utils/IEnumerableHelper.cs LA22A07_WCS/iWareCommon/Utils/IntHelper.cs LA22A07_WCS/iWareCommon/Utils/ListHelper.cs LA22A07_WCS/iWareCommon/Utils/Log4Net/C_LogWriter.cs LA22A07_WCS/iWareCommon/Utils/Log4Net/Log4netHelper.cs LA22A07_WCS/iWareCommon/Utils/Log4Net/LogType.cs LA22A07_WCS/iWareCommon/Utils/LogTextHelper.cs LA22A07_WCS/iWareCommon/Utils/MD5Helper.cs LA22A07_WCS/iWareCommon/Utils/MachineHelper.cs LA22A07_WCS/iWareCommon/Utils/MyBase64Helper.cs LA22A07_WCS/iWareCommon/Utils/PageHelper.cs LA22A07_WCS/iWareCommon/Utils/RandomHelper.cs LA22A07_WCS/iWareCommon/Utils/StringHelper.cs LA22A07_WCS/iWareCommon/Utils/SysHelper.cs LA22A07_WCS/iWareCommon/Utils/SysMessageUtil.cs LA22A07_WCS/iWareCommon/Utils/TaskNoHelper.cs LA22A07_WCS/iWareCommon/Utils/TextHelper.cs LA22A07_WCS/iWareCommon/Utils/ThreadHelper.cs LA22A07_WCS/iWareCommon/Utils/TreeHelper.cs LA22A07_WCS/iWareCommon/Utils/ValidateDataHelper.cs LA22A07_WCS/iWareCommon/Utils/ZipHelper.cs LA22A07_WCS/iWareCommon/iWareCommon.csproj LA22A07_WCS/iWareCommon/log4net_iWare.config LA22A07_WCS/iWareModel/Entity/AGV/AgvCallbackRequestDto.cs LA22A07_WCS/iWareModel/Entity/AGV/AgvCancelTask.cs LA22A07_WCS/iWareModel/Entity/AGV/AgvCommonResponseDto.cs LA22A07_WCS/iWareModel/Entity/AGV/AgvContinueTask.cs LA22A07_WCS/iWareModel/Entity/AGV/AgvSchedulingTaskDto.cs LA22A07_WCS/iWareModel/Entity/BindableBase.cs LA22A07_WCS/iWareModel/Entity/Context.cs LA22A07_WCS/iWareModel/Entity/Device/DeviceCoordinat.cs LA22A07_WCS/iWareModel/Entity/EnumberEntity.cs LA22A07_WCS/iWareModel/Entity/Huffman.cs LA22A07_WCS/iWareModel/Entity/IBuilder.cs LA22A07_WCS/iWareModel/Entity/ICommonEntity.cs LA22A07_WCS/iWareModel/Entity/IDirector.cs LA22A07_WCS/iWareModel/Entity/IHandler.cs LA22A07_WCS/iWareModel/Entity/IService.cs LA22A07_WCS/iWareModel/Entity/IStrategy.cs LA22A07_WCS/iWareModel/Entity/ITreeEntity.cs LA22A07_WCS/iWareModel/Entity/LZW.cs LA22A07_WCS/iWareModel/Entity/ListItem.cs LA22A07_WCS/iWareModel/Entity/MES/MesRetModel.cs LA22A07_WCS/iWareModel/Entity/MES/MesRetModel2.cs LA22A07_WCS/iWareModel/Entity/MES/MesRetProductModel.cs LA22A07_WCS/iWareModel/Entity/MES/MesUpdateOnlineStatusParamModel.cs LA22A07_WCS/iWareModel/Entity/MES/Mes_BtjReceiveModel.cs LA22A07_WCS/iWareModel/Entity/QueryParam.cs LA22A07_WCS/iWareModel/Entity/ResponseListDataEntity.cs LA22A07_WCS/iWareModel/Entity/ResponseListDataPageEntity.cs LA22A07_WCS/iWareModel/Entity/ResponseSimpleDataEntity.cs LA22A07_WCS/iWareModel/Entity/ResultModel/FunRetEntity.cs LA22A07_WCS/iWareModel/Entity/ResultModel/MessageModel.cs LA22A07_WCS/iWareModel/Entity/ResultModel/ResEntity.cs LA22A07_WCS/iWareModel/Entity/SysUser.cs LA22A07_WCS/iWareModel/Entity/System/ColumnsModel.cs LA22A07_WCS/iWareModel/Entity/System/PropertieModel.cs LA22A07_WCS/iWareModel/Entity/TEST.csdl LA22A07_WCS/iWareModel/Entity/TEST.designer.cs LA22A07_WCS/iWareModel/Entity/TEST.msl LA22A07_WCS/iWareModel/Entity/TEST.ssdl LA22A07_WCS/iWareModel/Entity/ValidateModel.cs LA22A07_WCS/iWareModel/Entity/ValidateResModel.cs LA22A07_WCS/iWareModel/Entity/WMS/CommonResponse.cs LA22A07_WCS/iWareModel/Entity/WMS/CriterionEnterInput.cs LA22A07_WCS/iWareModel/Entity/WMS/FrontTaskInput.cs LA22A07_WCS/iWareModel/Entity/WMS/WMSConfirmInput.cs LA22A07_WCS/iWareModel/Entity/WMS/WarehousOrderInput.cs LA22A07_WCS/iWareModel/Entity/_system~.ini LA22A07_WCS/iWareModel/EnumType/AoSinPublicCommon/ContainerTypeEnum.cs LA22A07_WCS/iWareModel/EnumType/AoSinPublicCommon/EnumWarehousStatus.cs LA22A07_WCS/iWareModel/EnumType/AoSinPublicCommon/OrderTypeEnum.cs LA22A07_WCS/iWareModel/EnumType/AoSinPublicCommon/SiteTypeEnum.cs LA22A07_WCS/iWareModel/EnumType/AoSinPublicCommon/StockStatusEnum.cs LA22A07_WCS/iWareModel/EnumType/AoSinPublicCommon/TaskCategoryEnum.cs LA22A07_WCS/iWareModel/EnumType/EDbError.cs LA22A07_WCS/iWareModel/EnumType/EDevice/AGV/AGVState.cs LA22A07_WCS/iWareModel/EnumType/EDevice/AGV/AgvForceCancel Type.cs LA22A07_WCS/iWareModel/EnumType/EDevice/AGV/AgvPositionType.cs LA22A07_WCS/iWareModel/EnumType/EDevice/AGV/AgvTaskTypeEnum.cs LA22A07_WCS/iWareModel/EnumType/EDevice/Conveyer/EConveyerAlarm.cs LA22A07_WCS/iWareModel/EnumType/EDevice/Conveyer/EConveyerBodyTest.cs LA22A07_WCS/iWareModel/EnumType/EDevice/Conveyer/EConveyerCmd.cs LA22A07_WCS/iWareModel/EnumType/EDevice/Conveyer/EConveyerEvent.cs LA22A07_WCS/iWareModel/EnumType/EDevice/Conveyer/EConveyerMode.cs LA22A07_WCS/iWareModel/EnumType/EDevice/Conveyer/EConveyerState.cs LA22A07_WCS/iWareModel/EnumType/EDevice/EDevice.cs LA22A07_WCS/iWareModel/EnumType/EDevice/EDeviceType.cs LA22A07_WCS/iWareModel/EnumType/EDevice/ESrmAlarm.cs LA22A07_WCS/iWareModel/EnumType/EDevice/Line/LineLocation.cs LA22A07_WCS/iWareModel/EnumType/EDevice/Line/RgvErrorReason.cs LA22A07_WCS/iWareModel/EnumType/EDevice/Line/RgvInOutFlag.cs LA22A07_WCS/iWareModel/EnumType/EDevice/Line/RgvIsDie.cs LA22A07_WCS/iWareModel/EnumType/EDevice/Line/RgvIsStock.cs LA22A07_WCS/iWareModel/EnumType/EDevice/Line/RgvWorkMode.cs LA22A07_WCS/iWareModel/EnumType/EDevice/Rgv/ERgvAlarm.cs LA22A07_WCS/iWareModel/EnumType/EDevice/Rgv/ERgvBodyTest.cs LA22A07_WCS/iWareModel/EnumType/EDevice/Rgv/ERgvCmd.cs LA22A07_WCS/iWareModel/EnumType/EDevice/Rgv/ERgvEvent.cs LA22A07_WCS/iWareModel/EnumType/EDevice/Rgv/ERgvMode.cs LA22A07_WCS/iWareModel/EnumType/EDevice/Rgv/ERgvState.cs LA22A07_WCS/iWareModel/EnumType/EDevice/Srm/ESrmCmd.cs LA22A07_WCS/iWareModel/EnumType/EDevice/Srm/ESrmForkPosition.cs LA22A07_WCS/iWareModel/EnumType/EDevice/Srm/ESrmMode.cs LA22A07_WCS/iWareModel/EnumType/EDevice/Srm/ESrmState.cs LA22A07_WCS/iWareModel/EnumType/EDevice/Srm/ESrmTaskType.cs LA22A07_WCS/iWareModel/EnumType/EDevice/SubTaskStateEnum.cs LA22A07_WCS/iWareModel/EnumType/EDevice/TaskStateEnum.cs LA22A07_WCS/iWareModel/EnumType/ExceptionEnum.cs LA22A07_WCS/iWareModel/EnumType/PLC/PLCServiceTypeEnum.cs LA22A07_WCS/iWareModel/EnumType/RequestStatusEnum.cs LA22A07_WCS/iWareModel/EnumType/StackSequenceSortRule.cs LA22A07_WCS/iWareModel/EnumType/Sys/LanguageEnum.cs LA22A07_WCS/iWareModel/EnumType/Sys/ValidateIntEnum.cs LA22A07_WCS/iWareModel/EnumType/TaskExcuteTypeEnum.cs LA22A07_WCS/iWareModel/EnumType/ThreadDirectionEnum.cs LA22A07_WCS/iWareModel/EnumType/WareLaneEnum.cs LA22A07_WCS/iWareModel/EnumType/XiGangPublicCommon/AddTransferTaskEnum.cs LA22A07_WCS/iWareModel/EnumType/XiGangPublicCommon/DeviceTaskTypeEnum.cs LA22A07_WCS/iWareModel/EnumType/XiGangPublicCommon/MainInOutFlagEnum.cs LA22A07_WCS/iWareModel/EnumType/XiGangPublicCommon/MainTaskStatusEnum.cs LA22A07_WCS/iWareModel/EnumType/XiGangPublicCommon/MainTaskTypeEnum.cs LA22A07_WCS/iWareModel/EnumType/XiGangPublicCommon/MaterialTypeEnum.cs LA22A07_WCS/iWareModel/EnumType/XiGangPublicCommon/Plan/OutPlanStateEnum.cs LA22A07_WCS/iWareModel/EnumType/XiGangPublicCommon/Plan/OutPlanTypeEnum.cs LA22A07_WCS/iWareModel/EnumType/XiGangPublicCommon/Plan/OutTaskDetailStateEnum.cs LA22A07_WCS/iWareModel/EnumType/XiGangPublicCommon/Plan/OutTaskModeEnum.cs LA22A07_WCS/iWareModel/EnumType/XiGangPublicCommon/Salver_V_Station_StateEnum.cs LA22A07_WCS/iWareModel/Properties/AssemblyInfo.cs LA22A07_WCS/iWareModel/iWareModel.csproj LA22A07_WCS/iWareSda/App.config LA22A07_WCS/iWareSda/Common/SdaHelper.cs LA22A07_WCS/iWareSda/Common/Struct/WareSdaStruct.cs LA22A07_WCS/iWareSda/DLL/EntityFramework.SqlServer.dll LA22A07_WCS/iWareSda/DLL/EntityFramework.dll LA22A07_WCS/iWareSda/DLL/Interop.OPCAutomation.dll LA22A07_WCS/iWareSda/DLL/Newtonsoft.Json.dll LA22A07_WCS/iWareSda/DLL/Newtonsoft.Json.xml LA22A07_WCS/iWareSda/DLL/OpcAccess.dll LA22A07_WCS/iWareSda/DLL/S7.Net.dll LA22A07_WCS/iWareSda/DLL/WZ.Useful.Commons.dll LA22A07_WCS/iWareSda/DLL/log4net.dll LA22A07_WCS/iWareSda/DLL/log4net.xml LA22A07_WCS/iWareSda/DLL/logtxt.dll LA22A07_WCS/iWareSda/Devices/1-Srm/SrmModel/DB/SrmDB2Obj.cs LA22A07_WCS/iWareSda/Devices/1-Srm/SrmModel/DB/SrmDBForRead.cs LA22A07_WCS/iWareSda/Devices/1-Srm/SrmModel/DB/SrmDBForWrite.cs LA22A07_WCS/iWareSda/Devices/1-Srm/SrmModel/SrmEntity.cs LA22A07_WCS/iWareSda/Devices/1-Srm/SrmModel/SrmView.cs LA22A07_WCS/iWareSda/Devices/1-Srm/SrmModel/Srm_CacheEntity.cs LA22A07_WCS/iWareSda/Devices/1-Srm/SrmService/ISrmService.cs LA22A07_WCS/iWareSda/Devices/1-Srm/SrmService/SrmService.cs LA22A07_WCS/iWareSda/Devices/2-Line/LineModel/DB/LineDB2Obj.cs LA22A07_WCS/iWareSda/Devices/2-Line/LineModel/DB/LineDBForRead.cs LA22A07_WCS/iWareSda/Devices/2-Line/LineModel/DB/LineDBForWrite.cs LA22A07_WCS/iWareSda/Devices/2-Line/LineModel/LineEntity.cs LA22A07_WCS/iWareSda/Devices/2-Line/LineModel/LineView.cs LA22A07_WCS/iWareSda/Devices/2-Line/LineModel/Line_CacheEntity.cs LA22A07_WCS/iWareSda/Devices/2-Line/LineService/ILineService.cs LA22A07_WCS/iWareSda/Devices/2-Line/LineService/LineService.cs LA22A07_WCS/iWareSda/Devices/3-HuscoLine/HuscoLineModel/DB/HuscoLineDB2Obj.cs LA22A07_WCS/iWareSda/Devices/3-HuscoLine/HuscoLineModel/DB/HuscoLineDBForRead.cs LA22A07_WCS/iWareSda/Devices/3-HuscoLine/HuscoLineModel/DB/HuscoLineDBForWrite.cs LA22A07_WCS/iWareSda/Devices/3-HuscoLine/HuscoLineModel/HuscoLineEntity.cs LA22A07_WCS/iWareSda/Devices/3-HuscoLine/HuscoLineModel/HuscoLineView.cs LA22A07_WCS/iWareSda/Devices/3-HuscoLine/HuscoLineModel/HuscoLine_CacheEntity.cs LA22A07_WCS/iWareSda/Devices/3-HuscoLine/HuscoLineService/HuscoLineService.cs LA22A07_WCS/iWareSda/Devices/3-HuscoLine/HuscoLineService/IHuscoLineService.cs LA22A07_WCS/iWareSda/Devices/4-Rgv/RgvModel/DB/RgvComm.cs LA22A07_WCS/iWareSda/Devices/4-Rgv/RgvModel/DB/RgvDB2Obj.cs LA22A07_WCS/iWareSda/Devices/4-Rgv/RgvModel/DB/RgvDBForRead.cs LA22A07_WCS/iWareSda/Devices/4-Rgv/RgvModel/DB/RgvDBForWrite.cs LA22A07_WCS/iWareSda/Devices/4-Rgv/RgvModel/RgvEntity.cs LA22A07_WCS/iWareSda/Devices/4-Rgv/RgvModel/RgvView.cs LA22A07_WCS/iWareSda/Devices/4-Rgv/RgvModel/Rgv_CacheEntity.cs LA22A07_WCS/iWareSda/Devices/4-Rgv/RgvService/IRgvService.cs LA22A07_WCS/iWareSda/Devices/4-Rgv/RgvService/RgvService.cs LA22A07_WCS/iWareSda/Devices/5-Conveyer/ConveyerModel/ConveyerEntity.cs LA22A07_WCS/iWareSda/Devices/5-Conveyer/ConveyerModel/ConveyerView.cs LA22A07_WCS/iWareSda/Devices/5-Conveyer/ConveyerModel/Conveyer_CacheEntity.cs LA22A07_WCS/iWareSda/Devices/5-Conveyer/ConveyerModel/DB/ConveyerComm.cs LA22A07_WCS/iWareSda/Devices/5-Conveyer/ConveyerModel/DB/ConveyerDB2Obj.cs LA22A07_WCS/iWareSda/Devices/5-Conveyer/ConveyerModel/DB/ConveyerDBForRead.cs LA22A07_WCS/iWareSda/Devices/5-Conveyer/ConveyerModel/DB/ConveyerDBForWrite.cs LA22A07_WCS/iWareSda/Devices/5-Conveyer/ConveyerService/ConveyerService.cs LA22A07_WCS/iWareSda/Devices/5-Conveyer/ConveyerService/IConveyerService.cs LA22A07_WCS/iWareSda/Interface/IDevice.cs LA22A07_WCS/iWareSda/IwareICO.ico LA22A07_WCS/iWareSda/LOGO.ico LA22A07_WCS/iWareSda/Model/DeviceWarningInfo.cs LA22A07_WCS/iWareSda/Model/SdaResEntity.cs LA22A07_WCS/iWareSda/PLCService/Default/AB_HslCommunicationService.cs LA22A07_WCS/iWareSda/PLCService/Default/SS7.cs LA22A07_WCS/iWareSda/PLCService/Default/Siemens_HslCommunicationService.cs LA22A07_WCS/iWareSda/PLCService/Models/BasePlcParam.cs LA22A07_WCS/iWareSda/PLCService/Models/HslCommunicationParam.cs LA22A07_WCS/iWareSda/PLCService/Models/SS7Param.cs LA22A07_WCS/iWareSda/PLCService/PLCFactory.cs LA22A07_WCS/iWareSda/PLCService/PLCService.cs LA22A07_WCS/iWareSda/Program.cs LA22A07_WCS/iWareSda/Properties/AssemblyInfo.cs LA22A07_WCS/iWareSda/Properties/Resources.Designer.cs LA22A07_WCS/iWareSda/Properties/Resources.resx LA22A07_WCS/iWareSda/Properties/Settings.Designer.cs LA22A07_WCS/iWareSda/Properties/Settings.settings LA22A07_WCS/iWareSda/Robot.ico LA22A07_WCS/iWareSda/SdaMainForm.Designer.cs LA22A07_WCS/iWareSda/SdaMainForm.cs LA22A07_WCS/iWareSda/SdaMainForm.resx LA22A07_WCS/iWareSda/iWareSda.csproj LA22A07_WCS/iWareSda/packages.config LA22A07_WCS/iWareSql/App.config LA22A07_WCS/iWareSql/ClassDiagram1.cd LA22A07_WCS/iWareSql/DataAccess/DeviceWarningHandler.cs LA22A07_WCS/iWareSql/DataAccess/PartTaskHandler.cs LA22A07_WCS/iWareSql/DataAccess/SysExceptionInfoHandler.cs LA22A07_WCS/iWareSql/DbOrm/Base_SysExceptionInfo.cs LA22A07_WCS/iWareSql/DbOrm/C__EFMigrationsHistory.cs LA22A07_WCS/iWareSql/DbOrm/DbEntity.Context.cs LA22A07_WCS/iWareSql/DbOrm/DbEntity.Context.tt LA22A07_WCS/iWareSql/DbOrm/DbEntity.Designer.cs LA22A07_WCS/iWareSql/DbOrm/DbEntity.cs LA22A07_WCS/iWareSql/DbOrm/DbEntity.edmx LA22A07_WCS/iWareSql/DbOrm/DbEntity.edmx.diagram LA22A07_WCS/iWareSql/DbOrm/DbEntity.tt LA22A07_WCS/iWareSql/DbOrm/sys_app.cs LA22A07_WCS/iWareSql/DbOrm/sys_code_gen.cs LA22A07_WCS/iWareSql/DbOrm/sys_code_gen_config.cs LA22A07_WCS/iWareSql/DbOrm/sys_code_modular.cs LA22A07_WCS/iWareSql/DbOrm/sys_config.cs LA22A07_WCS/iWareSql/DbOrm/sys_dict_data.cs LA22A07_WCS/iWareSql/DbOrm/sys_dict_type.cs LA22A07_WCS/iWareSql/DbOrm/sys_emp.cs LA22A07_WCS/iWareSql/DbOrm/sys_emp_ext_org_pos.cs LA22A07_WCS/iWareSql/DbOrm/sys_file.cs LA22A07_WCS/iWareSql/DbOrm/sys_forms.cs LA22A07_WCS/iWareSql/DbOrm/sys_log_audit.cs LA22A07_WCS/iWareSql/DbOrm/sys_log_ex.cs LA22A07_WCS/iWareSql/DbOrm/sys_log_op.cs LA22A07_WCS/iWareSql/DbOrm/sys_log_vis.cs LA22A07_WCS/iWareSql/DbOrm/sys_low_code_module.cs LA22A07_WCS/iWareSql/DbOrm/sys_low_code_module_database.cs LA22A07_WCS/iWareSql/DbOrm/sys_menu.cs LA22A07_WCS/iWareSql/DbOrm/sys_notice.cs LA22A07_WCS/iWareSql/DbOrm/sys_notice_user.cs LA22A07_WCS/iWareSql/DbOrm/sys_org.cs LA22A07_WCS/iWareSql/DbOrm/sys_pos.cs LA22A07_WCS/iWareSql/DbOrm/sys_role.cs LA22A07_WCS/iWareSql/DbOrm/sys_timer.cs LA22A07_WCS/iWareSql/DbOrm/sys_user.cs LA22A07_WCS/iWareSql/DbOrm/v_empty_location.cs LA22A07_WCS/iWareSql/DbOrm/ware_container_vs_material.cs LA22A07_WCS/iWareSql/DbOrm/ware_device_wareing.cs LA22A07_WCS/iWareSql/DbOrm/ware_equipment.cs LA22A07_WCS/iWareSql/DbOrm/ware_location_vs_container.cs LA22A07_WCS/iWareSql/DbOrm/ware_site.cs LA22A07_WCS/iWareSql/DbOrm/ware_task.cs LA22A07_WCS/iWareSql/DbOrm/ware_task_bak.cs LA22A07_WCS/iWareSql/DbOrm/ware_task_sub.cs LA22A07_WCS/iWareSql/DbOrm/ware_task_sub_bak.cs LA22A07_WCS/iWareSql/DbOrm/wms_area.cs LA22A07_WCS/iWareSql/DbOrm/wms_container.cs LA22A07_WCS/iWareSql/DbOrm/wms_container_type.cs LA22A07_WCS/iWareSql/DbOrm/wms_location_type.cs LA22A07_WCS/iWareSql/DbOrm/wms_material.cs LA22A07_WCS/iWareSql/DbOrm/wms_materialcontainer.cs LA22A07_WCS/iWareSql/DbOrm/wms_materialstock.cs LA22A07_WCS/iWareSql/DbOrm/wms_part.cs LA22A07_WCS/iWareSql/DbOrm/wms_place.cs LA22A07_WCS/iWareSql/DbOrm/wms_task.cs LA22A07_WCS/iWareSql/Entity/ExtendEntity/MatModel.cs LA22A07_WCS/iWareSql/Entity/ExtendEntity/RealPlaceEntity.cs LA22A07_WCS/iWareSql/Entity/ExtendEntity/SyncStockToMesEntity.cs LA22A07_WCS/iWareSql/Entity/ExtendEntity/UDT_SYS_ExceptionInfo_Extend.cs LA22A07_WCS/iWareSql/Entity/MES/Mes_ResEntity.cs LA22A07_WCS/iWareSql/Entity/ParamModel/InformIniInfoToTrussParam.cs LA22A07_WCS/iWareSql/Entity/ParamModel/MesMatInfo.cs LA22A07_WCS/iWareSql/Entity/ParamModel/Mes_BatchMat_Param.cs LA22A07_WCS/iWareSql/Entity/ParamModel/Mes_BatchOrderUPIParam.cs LA22A07_WCS/iWareSql/Entity/ParamModel/Srm_ItemParam.cs LA22A07_WCS/iWareSql/Entity/ViewMode/AllMatStockViewForStockList.cs LA22A07_WCS/iWareSql/Entity/ViewMode/BatchMatGatherView.cs LA22A07_WCS/iWareSql/Entity/ViewMode/BatchMatView.cs LA22A07_WCS/iWareSql/Entity/ViewMode/BatchOrderUPIView.cs LA22A07_WCS/iWareSql/Entity/ViewMode/BoardLoadMaterialView.cs LA22A07_WCS/iWareSql/Entity/ViewMode/MatStockCollectView.cs LA22A07_WCS/iWareSql/Entity/ViewMode/PlaceLocationView.cs LA22A07_WCS/iWareSql/Properties/AssemblyInfo.cs LA22A07_WCS/iWareSql/iWareSql.csproj LA22A07_WCS/iWareSql/packages.config LA22A07_WCS/iWareTestForm/App.config LA22A07_WCS/iWareTestForm/InterFaceTestForm.Designer.cs LA22A07_WCS/iWareTestForm/InterFaceTestForm.cs LA22A07_WCS/iWareTestForm/InterFaceTestForm.resx LA22A07_WCS/iWareTestForm/MainForm.Designer.cs LA22A07_WCS/iWareTestForm/MainForm.cs LA22A07_WCS/iWareTestForm/MainForm.resx LA22A07_WCS/iWareTestForm/Model/SelLoadStatus.cs LA22A07_WCS/iWareTestForm/Model/SelUnloadingTable.cs LA22A07_WCS/iWareTestForm/Model/SimulatorCommonEntity.cs LA22A07_WCS/iWareTestForm/Model/TransTypeForOutStorageCompleted.cs LA22A07_WCS/iWareTestForm/Model/TypeEnum.cs LA22A07_WCS/iWareTestForm/Program.cs LA22A07_WCS/iWareTestForm/Properties/AssemblyInfo.cs LA22A07_WCS/iWareTestForm/Properties/Resources.Designer.cs LA22A07_WCS/iWareTestForm/Properties/Resources.resx LA22A07_WCS/iWareTestForm/Properties/Settings.Designer.cs LA22A07_WCS/iWareTestForm/Properties/Settings.settings LA22A07_WCS/iWareTestForm/Service References/MesWebService/MesWebService1.disco LA22A07_WCS/iWareTestForm/Service References/MesWebService/MesWebService1.wsdl LA22A07_WCS/iWareTestForm/Service References/MesWebService/Reference.cs LA22A07_WCS/iWareTestForm/Service References/MesWebService/Reference.svcmap LA22A07_WCS/iWareTestForm/Service References/MesWebService/XiGang_iWareTestForm.MesWebService.GetMesMatInfoResponse.datasource LA22A07_WCS/iWareTestForm/Service References/MesWebService/XiGang_iWareTestForm.MesWebService.GetPlaceInfoResponse.datasource LA22A07_WCS/iWareTestForm/Service References/MesWebService/XiGang_iWareTestForm.MesWebService.SawingConfirmResponse.datasource LA22A07_WCS/iWareTestForm/Service References/MesWebService/XiGang_iWareTestForm.MesWebService.SendBatchUPIsResponse.datasource LA22A07_WCS/iWareTestForm/Service References/MesWebService/XiGang_iWareTestForm.MesWebService.SendInStoreBatchMatsResponse.datasource LA22A07_WCS/iWareTestForm/Service References/MesWebService/XiGang_iWareTestForm.MesWebService.SendOutStoreBatchMatsResponse.datasource LA22A07_WCS/iWareTestForm/Service References/MesWebService/XiGang_iWareTestForm.MesWebService.SendSynchroMatPlaceToMesResponse.datasource LA22A07_WCS/iWareTestForm/Service References/MesWebService/configuration.svcinfo LA22A07_WCS/iWareTestForm/Service References/MesWebService/configuration91.svcinfo LA22A07_WCS/iWareTestForm/Service References/SrmService/Reference.cs LA22A07_WCS/iWareTestForm/Service References/SrmService/Reference.svcmap LA22A07_WCS/iWareTestForm/Service References/SrmService/XiGang_iWareTestForm.SrmService.IsAllowSendTaskResponse.datasource LA22A07_WCS/iWareTestForm/Service References/SrmService/XiGang_iWareTestForm.SrmService.IsReadyResponse.datasource LA22A07_WCS/iWareTestForm/Service References/SrmService/XiGang_iWareTestForm.SrmService.SendSrmMoveResponse.datasource LA22A07_WCS/iWareTestForm/Service References/SrmService/XiGang_iWareTestForm.SrmService.SrmEntity.datasource LA22A07_WCS/iWareTestForm/Service References/SrmService/configuration.svcinfo LA22A07_WCS/iWareTestForm/Service References/SrmService/configuration91.svcinfo LA22A07_WCS/iWareTestForm/Service References/SrmService/iWareSda.SrmService.SrmEntity.xsd LA22A07_WCS/iWareTestForm/Service References/SrmService/service.wsdl LA22A07_WCS/iWareTestForm/Service References/SrmService/service.xsd LA22A07_WCS/iWareTestForm/Service References/SrmService/service1.xsd LA22A07_WCS/iWareTestForm/Service References/TrussService/Reference.cs LA22A07_WCS/iWareTestForm/Service References/TrussService/Reference.svcmap LA22A07_WCS/iWareTestForm/Service References/TrussService/XiGang_iWareTestForm.TrussService.IsAllowSendTaskResponse.datasource LA22A07_WCS/iWareTestForm/Service References/TrussService/XiGang_iWareTestForm.TrussService.IsReadyResponse.datasource LA22A07_WCS/iWareTestForm/Service References/TrussService/XiGang_iWareTestForm.TrussService.TrussEntity.datasource LA22A07_WCS/iWareTestForm/Service References/TrussService/configuration.svcinfo LA22A07_WCS/iWareTestForm/Service References/TrussService/configuration91.svcinfo LA22A07_WCS/iWareTestForm/Service References/TrussService/iWareSda.TrussService.TrussEntity.xsd LA22A07_WCS/iWareTestForm/Service References/TrussService/service.wsdl LA22A07_WCS/iWareTestForm/Service References/TrussService/service.xsd LA22A07_WCS/iWareTestForm/Service References/TrussService/service1.xsd LA22A07_WCS/iWareTestForm/Utility/BLLHelpler.cs LA22A07_WCS/iWareTestForm/Utility/CommonHelper.cs LA22A07_WCS/iWareTestForm/Utility/InterfaceSection.cs LA22A07_WCS/iWareTestForm/Utility/ReturnBody.cs LA22A07_WCS/iWareTestForm/Utility/TestHelper.cs LA22A07_WCS/iWareTestForm/Utility/TextHelper.cs LA22A07_WCS/iWareTestForm/iWareTest/DialogForm/AddInStoreTaskForm.Designer.cs LA22A07_WCS/iWareTestForm/iWareTest/DialogForm/AddInStoreTaskForm.cs LA22A07_WCS/iWareTestForm/iWareTest/DialogForm/AddInStoreTaskForm.resx LA22A07_WCS/iWareTestForm/iWareTest/DialogForm/TestBatchForm.Designer.cs LA22A07_WCS/iWareTestForm/iWareTest/DialogForm/TestBatchForm.cs LA22A07_WCS/iWareTestForm/iWareTest/DialogForm/TestBatchForm.resx LA22A07_WCS/iWareTestForm/iWareTest/RCSWCSTestForm.Designer.cs LA22A07_WCS/iWareTestForm/iWareTest/RCSWCSTestForm.cs LA22A07_WCS/iWareTestForm/iWareTest/RCSWCSTestForm.resx LA22A07_WCS/iWareTestForm/packages.config LA22A07_WCS/iWareTestForm/西岗测试模拟器.csproj LA22A07_WCS/iWareUnitTest/App.config LA22A07_WCS/iWareUnitTest/CSharpTest.cs LA22A07_WCS/iWareUnitTest/OPCTest.cs LA22A07_WCS/iWareUnitTest/Properties/AssemblyInfo.cs LA22A07_WCS/iWareUnitTest/Properties/DataSources/iWareCC_ASRS.SrmConveyorService.SrmConveyorEntity.datasource LA22A07_WCS/iWareUnitTest/Properties/DataSources/iWareCC_ASRS.SrmConveyorService.SrmConveyorStationEntity.datasource LA22A07_WCS/iWareUnitTest/Service References/MesWebService/MesWebService.disco LA22A07_WCS/iWareUnitTest/Service References/MesWebService/MesWebService.wsdl LA22A07_WCS/iWareUnitTest/Service References/MesWebService/Reference.cs LA22A07_WCS/iWareUnitTest/Service References/MesWebService/Reference.svcmap LA22A07_WCS/iWareUnitTest/Service References/MesWebService/configuration.svcinfo LA22A07_WCS/iWareUnitTest/Service References/MesWebService/configuration91.svcinfo LA22A07_WCS/iWareUnitTest/Service References/MesWebService/iWareUnitTest.MesWebService.GetMesMatInfoResponse.datasource LA22A07_WCS/iWareUnitTest/Service References/MesWebService/iWareUnitTest.MesWebService.GetPlaceInfoResponse.datasource LA22A07_WCS/iWareUnitTest/Service References/MesWebService/iWareUnitTest.MesWebService.SawingConfirmResponse.datasource LA22A07_WCS/iWareUnitTest/Service References/MesWebService/iWareUnitTest.MesWebService.SendBatchUPIsResponse.datasource LA22A07_WCS/iWareUnitTest/Service References/MesWebService/iWareUnitTest.MesWebService.SendInStoreBatchMatsResponse.datasource LA22A07_WCS/iWareUnitTest/Service References/MesWebService/iWareUnitTest.MesWebService.SendOutStoreBatchMatsResponse.datasource LA22A07_WCS/iWareUnitTest/Service References/MesWebService/iWareUnitTest.MesWebService.SendSynchroMatPlaceToMesResponse.datasource LA22A07_WCS/iWareUnitTest/SrmTaskThreadServiceTest.cs LA22A07_WCS/iWareUnitTest/Task_UnitTest.cs LA22A07_WCS/iWareUnitTest/UPIs.txt LA22A07_WCS/iWareUnitTest/iWareUnitTest.csproj